python_104_面向对象总结

参考(都要认真看看):http://www.cnblogs.com/alex3714/articles/5188179.html

    http://www.cnblogs.com/alex3714/articles/5213184.html

面向对象3大特性:封装,继承,多态

类:

  属性:实例变量,类变量,私有属性__(两个下划线)

  方法:构造方法,析构函数(不写的话,默认就有,相当于重构),私有方法

 对象(类的实例):实例化一个类之后得到的对象

封装:把一些功能的实现细节不对外暴露(

    封装的概念:

      将对象的数据与操作数据的方法相结合,通过方法将对象的数据与实现细节保护起来,就称为封装。外界只能通过对象的方法访问对象,因此封装同时也实现了对象的数据隐藏。
      在使用面向对象的封装特性时,需要:将内容封装到某处,和从某处调用被封装的内容
      eg:类中的self 是一个形式参数,当执行 obj1 = Foo('wupeiqi', 18 ) 时,self 等于 obj1当执行 obj2 = Foo('alex', 78 ) 时,self 等于 obj2所以,内容其实被封装到了对象 obj1 和 obj2 中)

继承:代码的重用(继承和组合) 

  单继承

  多继承:

      py2.7 经典类:深度优先  新式类:广度优先

      py3.x  均是广度优先

      以后均按照新式类class Foo(object)写

多态:接口重用,一种接口,多种实现

静态方法:只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性

类方法:只能访问类变量,不能访问静态变量

属性方法:把一个方法变成一个静态属性

原文地址:https://www.cnblogs.com/tianqizhi/p/8476333.html