面向对象
1、如何创建类
class 类名:
pass
2、创建方法
构造方法,__init__(self,)
obj=类(形参)
obj.普通方法名()
3、面向对象三大特性之一:封装
class Bar:
def __init__(self,形参1...)
self.形参1=形参1
...
4、试用场景:
如果多个函数中一些相同参数时,转换成面向对象
5、面向对象三大特性之二:继承
1、格式: class 父类:
pass
class 子类(父类):
pass
2、重写:防止父类中的方法
3、self永远是执行该方法的调用者
4、扩展父类方法:
super(子类,self).方法名(...)
父类名.方法名(self,...)
6、python中支持多继承(调用多父类中同名方法时)
a、左侧优先
b、一条道走到黑
c、同一个跟时,根最后执行(两个父类同时继承于一个obj类,左侧的父类没有覆写obj类中fun的方法,而右侧的父类覆写了obj类中的fun方法,子类在调用fun方法时执行右侧父类覆写方法)
d、调用中遇到的self为调用对象,不管在哪个方法中通过self调用方法,都是从self对象所属类开始找(sun类继承了fu类,fu类继承了ye类并覆写了ye类中的fun方法,sun类调用ye类中的foo方法时执行到 self.fun(),这时执行的fun方法是fu类中覆盖的fun方法。)
e、当zi类继承fu类后,
(3)zi类和fu类都有__init__构造函数时,创建zi类对象时会执行zi类的构造函数。
(2)zi类没有__init__构造函数,而fu类有__init__构造函数时,创建zi类对象时会执行fu类的构造函数。多个父类有__init__构造函数时,执行一个。
7、面向对象三大特性之三:多态
==>原生多态
浙公网安备 33010602011771号