Python Day24:类的继承、派生、覆盖、super()、绑定、非绑定方法
## 类的继承、派生、覆盖、super() ```python 类的继承: 子类继承父类,只需要在定义类的时候在类名后面加上(父类名)。 继承之后,父类的属性方法、子类都可以访问 派生: 子类继承父类后,自己在父类的基础上,又添加了一些属于自己特性的属性、方法 覆盖: 子类继承父类后,父类的有些属性、方法不能满足自己要求,子类就创建同名的方 法、属性,但是其值和父类不同,这样再访问同名属性、方法的时候,优先访问自 己的,就把父类的属性方法给覆盖了 super():父类的方法、属性被子类覆盖或者其他原因,子类需要访问父类的内容。有 两种方法,第一:指名道姓父类名字,用点语法访问。 第二:用super()方法 点 父类的属性、方法 ``` ### 在python中,一切皆对象!int float list dict 模块 包。。。等等都是对象 ## "__init__"初始化、绑定方法与非绑定方法: ```python 创建对象的过程也是实例化的过程 当修改某一个对象的属性、方法时,不会影响其他对象以及类 __init__方法: 执行时机:当实例化产生对象时,会自动执行该函数 会自动传入需要初始化的对象,初始化的对象的实参必须等于init中参数 初始化至少包含一个参数,用于表示对象本身! 该函数不允许有返回值 实例化对象时: 1,产生一个空对象(空的名称空间) 2,自动调用__init__方法,并把这个对象以及额外实参传入 例子:p=Person("赵敏",18) 绑定方法: 对象绑定方法: 类中的属性、方法都是默认绑定给对象的。即:对象调用时,会默认把对象作为第 一个参数传入给属性、方法,可以直接调用。当类调用时,跟普通函数一样,需要 把self这个参数也传入,否则报错:参数不够。 类绑定方法:@classmethod 在该方法前加@classmethod,即是类绑定方法!类绑定方法,主要是因为这个方法 需要类的信息。 类访问会把类名默认作为第一个参数自动传入。对象访问时,会把对象的类名作为 第一个参数默认传入。其他访问,要主动传入类名,否则报错。 静态绑定方法@staticmethod 不需要访问类、也不需要访问类。跟普通方法没什么区别。 ```