1.类定义
类定义是 type
类的实例。
1.1类声明
class 类名:
#类体
1.2cls关键字
cls
关键字指向当前类。
2.成员定义
注意:Python 语言不支持类访问器属性和静态访问器属性。
class 类名:
#类变量
a = 1
#构造方法
def __init__(self):
#实例变量
self.b = 1
#实例getter
@property
def b(self):
pass
#实例setter
@b.setter
def b(self, 形参):
pass
#类方法
@classmethod
def f1(cls):
pass
#静态方法
@staticmethod
def f2():
pass
#实例方法
def f3(self):
pass
3.继承
3.1方法继承
一个子类可以直接继承自多个父类,但如果多个父类存在同名方法时,左边的父类的同名方法的优先级高于右边的父类的同名方法。
子类会直接继承父类中可继承的方法,间接继承祖父类中可继承的方法,以此类推,直至没有可继承的方法。
支持的方法:构造函数、类方法、静态方法、实例访问器属性、实例方法。
注意:从父类中继承过来的方法无需在子类中重新声明,否则会发生覆盖。
class 子类名(父类名1, 父类名2, 父类名N):
#子类体
3.2覆盖(Override)
如果从父类中继承过来的方法在子类中重新声明,此时相当于在子类中同时声明了两个相同名称的方法,则在子类中重新声明的方法会覆盖从父类中继承过来的方法。
注意:只需要方法名称相同,就会发生覆盖。
注意:关于支持覆盖的方法,参考继承章节。
注意:覆盖并不会影响父类中原来的方法。
class A:
def f(self):
return 1
class B(A):
def f(self):
return 2
print(B().f()) # 2
3.3super()函数
super()
函数用于在子类中调用父类的方法。
支持的方法:构造函数、类方法、实例访问器属性、实例方法。
super().__init__()
super().类方法()
super().实例访问器属性
super().实例方法()
4.创建对象
4.1创建对象
#无实参
对象名 = 类名()
#有实参
对象名 = 类名(实参)
4.2方法重载(Overload)
Python 语言不支持方法重载。
4.3self关键字
self
关键字指向当前对象。
5.访问成员
类名.类变量名
类名.类方法名()
类名.静态方法名()
对象名.实例变量名
对象名.实例访问器属性名
对象名.实例方法名()
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/python/pythonlang/35573.html