代码的复用--继承、组合
组合--拥有另一个类全部方法属性
将另一类作为参数传入
代码的复用--继承、组合
组合--拥有另一个类全部方法属性
将另一类作为参数传入
变量赋值操作---就贴个名
对象浅拷贝---包含链接,但还是指向相同的子对象--copy
深拷贝---冰箱里的菜也复制
特殊属性
obj
__dict__属性字典
__class__对象找爹
class
__bases__类对象找爹--元组
__base__找爹
__mro__族谱
运算符--即是对象方法的调用
a+b--a.__add__(b)
a是数字类对象,其父类包含加法运算方法
可以这么理解,定义一个大类,下面包含各种方法,默认属于在这一类的对象都是他的子类
符号就是方法!!
一切皆是对象,一切皆是方法
多态
不同对象相同方法产生不同行为
各国吃饭方式
方法多态,属性没有
存在多态--继承与方法重新
其实也就是对父类方法重写
super所取得是父类的定义不是对象
获取父类代码
所谓继承就是chuang'za
mro
多重继承不要用
因为有根类object,所以会有__init__
在定义一个新类的时候,就相当于在重写方法
object所有类的父类
dir()
继承
继承出了构造方法以外
重写方法
继承
默认object类
__new__方法便在里面
私有属性也能继承
封装--隐藏对象属性与实现细节
继承
多态--同一个对象调用同一个方法执行情况不同
单例用对象保存起来
@property装饰器
方法调用--属性调用
但不可以设置
装饰器代替set get
私有方法
对外私有
def __
dir()字典显示函数属性
封装的实现
私有属性/方法
方法没有重载
方法同名会覆盖
为类添加新方法
方法函数也是对象
一切都是对象
__del__
垃圾回收,没人用就删除
???
程序结束调用del
类方法,静态方法
@classmethod
cls--类独有
注意类调用实例方法时不可直接调,类本身时不含有的,只有对应到实例对象才可以调用实例方法,放在类内只是为了方便共享方便调用
静态方法--与类无关的方法
@staticmethod
两种方法不能调用实例方法
调的时候还没有对象
‘在模具里面想吃饼干’