面向对象:
类:
#类是对象的抽象
#类是一种抽象的分类
概念:类是拥有相同属性和行为的事物的总称
特点:抽象
对象:对象是类的具体实例
类和对象的关系:
类是对象的模子
对象是类的具体实例
魔法方法:
__init__:初始化属性 自动调用
__str__:有返回值 打印实例对象的时候会自动调用
__del__:当没有被指向的时候会自动调用
__new__:创建实例对象,并返回此实例的引用
私有:
私有属性:加两个下划线变成私有属性 不能直接调用,可以写get和set,
私有方法:加两个下划线变成私有方法
不能直接调用,可以写公有方法
面向对象:封装、继承、多态
类属性:类也是对象,可以说类对象,完全可以用于属性,这种属性类属性。类属性,如果你不去改变它,不会随着创建实例对象而改变
类私有属性:
类方法:用@classmethod
类方法参数:cls
调用:用类对象或实例对象调用
静态方法:用@staticmethod
参数:无
调用:用类对象或实例对象调用
单例模式:在程序中,拥有唯一一个实例
要重写new方法
继承:
继承好处:实现代码的复用
继承:单继承和多继承都支持
多继承:当两个父类有相同的方法时,子类调用此方法的顺序是根据继承顺序类的 xxx.__mro__
重写:当父类的方法满足不了子类的时候,就要重写
继承注意点:私有方法和私有属性不能直接继承
调用父类方法:super().xxx或父类.xxx(self)
self:实例对象
super:父类
多态:不同的子类对象用于不同的表现形式
python弱类型语言,多态表示形式弱化了
封装:把一些功能封装起来,供别人调用,不用让别人看见里面怎么实现,只管调用
私有属性:就是把属性加上两个下划线就变成了私有属性,不能直接使用。如果想使用,请写get和set方法
私有方法:就是把方法加上两个下划线变成私有方法,不能直接调用,如果想调用,请写共有方法私有方法不能直接继承,可以间接继承.
多继承注意:如果继承的两个父类里面有相同的方法,当调用此方法的时候,会根据继承顺序来。打印的这个顺序的方法是 xxx.__mro__
重写:当父类的行为满足不了子类的行为的时候,就要重写。
调用父类的方法:super().xxx() 父类.xxx(self)
类方法:跟类对象相关
类属性:跟类对象相关
找一个变量来统计我创建多少个对象:
全局变量
局部变量
实例属性
类属性
以上四种方法只有类属性和全局变量可以,而且类属性更简单.
网友评论