15.面向对象
1. 类的定义
python中的类通过 class 关键字来定义,类的成员有属性和方法
# 示例
class ClassName:
<statement-1>
.
.
.
<statement-N> 1.1 属性
类的属性可以显式地定义在类中, 同变量一样,属性的定义必须初始化
class A:
a = 14
b = 12
print(A().a)
# 14属性还可以隐式地通过构造方法来定义
1.2 构造方法 _init(self)
Python的构造方法是名为 __init__ 的方法,第一个参数为 self, 指向当前对象。
1.3 类的方法
类的方法不同于函数,有一个默认参数 self
2. 继承
子类可以继承父类的属性和方法,支持多继承。
方法的搜索规则:
需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法。
2.1 重写方法
在子类中定义与父类相同的方法,就会在子类中重写该方法。
在子类中调用父类方法,需要显示指定父类的名字(可能有多个父类)
强制调用父类的方法:
3. 访问控制
3.1 私有成员
类的私有属性 :
__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时self.__private_attrs。类的私有方法 :
__private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用 ,不能在类的外部调用。self.__private_methods。
4. 专有方法
类的专有方法:
__init__: 构造函数,在生成对象时调用__del__: 析构函数,释放对象时使用__repr__: 打印,转换__setitem__: 按照索引赋值__getitem__: 按照索引获取值__len__: 获得长度__cmp__: 比较运算__call__: 函数调用__add__: 加运算__sub__: 减运算__mul__: 乘运算__truediv__: 除运算__mod__: 求余运算__pow__: 乘方
最后更新于
这有帮助吗?