老男孩全栈PYTHON -DAY8-面向妹子(对象)编程

面向对象:对函数进行封装和分类,让开发“更好,更快,更强

使用面向对象编程解决的问题都可以使用面向函数式编程解决,但是在某种特定情况下,面向对象编程要比面向函数式编程更方便,代码更简洁。就好比 递归和while循环一样,递归的逻辑思路要比while循环强

提高代码水平: 将产品需求分成模块,使用模块变成,将功能相同的函数封装一个类中,增加程序可扩展性

下面是面向对象的逻辑图

1、一切事物都是对象:面向对象(妹子)其实就是对”类和对象“的使用

类可以看作一个模块,里面封装很多的方法(函数),可以实现很多的功能

对象是基于类的,可以调用类中很多功能

对象可以调用类中全部的功能吗? 不,有些功能仅使用于类中调用,好处是:调用该功能时,不需要创建对象呦

通过类调用 功能有: 静态字段、静态方法、类方法

通过对象调用的功能有: 普通方法(特殊属性)、普通字段

内存的保存位置:

类:静态字段  (通过类调用)

对象:普通字段 通过(对象调用)

静态字段什么时候使用?

当需要创建对各对象,多个对象中需要使用相同的字段时,可以使用静态字段。(对象只是引用类的字段,并并没有创建)。

 

我们通过对象调用,可以修改类中的字段吗?

普通方法:

由对象调用:至少使用一个self参数:执行普通参数是,自动将调用方法的对象赋值给self

类方法:

有类进行调用:至少一个cls 参数,执行类方法时,自动将调用该方法的类赋值给cls

静态方法:

有类调用,没有默认参数

既然静态字段和静态方法都是类调用,他们的使用场景是什么样的呢?

其特点:通过类调用,都存储在类中,那就不需要创建对象 。

当所有的对象多需要(使用相同功能的结合)处理某个需求时,我们就可以一个类(有静态字段+静态方法)实现这个需求,这种情景我们统称单例模式

单利模式

使用情景:有N个人需要去对数据库进行修改的的操作, 修改数据(必须要连接数据库)

如果有100个都需要修改数据库,那么普通方法的解决思路是 100个人需要建立100次链接,来修改数据

解决思路:我们建立一个数据库连接池,第一个人连接时,去访问数据库连接池,第二个人访问时,去访问数据连接池。

 属性(也成为特性)

定义时,在普通方法的基础上添加@property 的装饰器

定义时,属性仅有一个self

调用时可以去掉括号

属性也是普通方法,只是书写的格式不一样,应用时和普通方法一个叼样

类的成员修饰符号

详情请见

http://www.cnblogs.com/wupeiqi/articles/5017742.html

http://www.cnblogs.com/wupeiqi/p/4766801.html

 

posted on 2016-06-28 20:08  05_小翼  阅读(456)  评论(0编辑  收藏  举报

导航