1. Oop特征:

继承、多态、封装

2. 析构方法

a)概念:当一个对象被删除或者被销毁时,Python解释器也会默认调用一个方法,这个方法为__del__()方法,也成为析构方法。

b)程序执行结束自动调用析构方法。

python在子类里面怎么继承父类所有的方法 python子类与父类_子类

c)对象被删除时也会自动调用__del__方法

python在子类里面怎么继承父类所有的方法 python子类与父类_封装_02

d)__del__主要用来操作‘对象的释放’,一旦释放完毕,对象便不能再使用。

e)总结:

i.当整个程序脚本执行完毕后会自动调用__del__方法。

ii.当对象被手动销毁时也会自动调用__del__方法。

iii.析构函数一般用于资源回收,利用__del__方法销毁对象回收内存等资源。

3. 单继承:

a)封装:把内容封装到某个地方,便于后面的使用

i.把内容封装到某处

ii.从另外一个地方去调用被封装的内容

对封装来讲,其实就是使用初始化构造方法将内容封装到对象中,然后通过对象直接或者self间接来获取被封装内容。

b)继承:子可以继承父的内容【属性和行为】,父有,子也有;子有,父未必有。

class A:    def eat(self):        '''        吃        :return:        '''        print('吃饭了')        pass    def drink(self):        '''        喝        :return:        '''        print('喝水了')        pass    pass

class Dog(A): #继承了A父类,此时Dog为子类    def wwj(self):        print('dog wwj')    pass

class Cat(A):    def mmj(self):        print('cat mmj')    passd1=Dog()

d1.eat() #具备了吃的行为,继承了父类的行为c1=Cat()

c1.drink()

python在子类里面怎么继承父类所有的方法 python子类与父类_父类_03

c)对于面向对象的继承来说,其实就是将多个类共有的方法提取到父类中,子类仅需继承父类而不必一一去实现,精简代码层级结构,减少重复书写,便于拓展。

4. 多继承

a)子类可继承多个父类

python在子类里面怎么继承父类所有的方法 python子类与父类_调用父类方法判断子类_04

b)__mro__可以显示类的依次继承关系(methord resolution order)

python在子类里面怎么继承父类所有的方法 python子类与父类_调用父类方法判断子类_05

c)总结:类的传递过程中,把父类又称为基类,子类又称为派生类,父类的属性和方法可以一级一级的传递到子类。

python在子类里面怎么继承父类所有的方法 python子类与父类_子类_06

5. 重写父类的方法:

a)所谓重写,就是子类中,有一个和父类相同名字的方法,在子类中的方法会覆盖掉父类中同名的方法。

6. 调用父类的方法:

a)Super()可以自动找到父类,进而调用方法。如果继承了多个父类,那么会按照顺序逐个去找,然后再调用。