Python3中面向对象 OOP

定义:

python中通过关键字 class 实现类的定义:
class ClassName(object):
    pass
获取成员变量:ClassName.变量名
修改成员变量:ClassName.变量名 = xxxx
实例化类对象:methodName= ClassName()

常用内置函数:

__init__:构造函数, 主要用来创建对象时初始化对象(为成员变量赋值)
__del__:析构函数,主要在销毁对象时调用(例如数据库连接)

成员变量:

再类中定义成员变量需要用“self”关键字

静态函数:

使用装饰器 "@staticmethod"
class ClassName(object):
    @staticmethod
    def printMethod():
        print('this is static method')
# 可以通过类名直接进行调用 ClassName.printMethod()

类函数:

使用装饰器 "@classmethod"
class ClassName(object):
    @classmethod
    def objMethod(cls,name,color):
        print('this is static method')
# 第一个参数必须为阴性参数cls,替代类名本身

私有成员变量:

python中没有public和private等关键字,它使用"__"开始命名的成员均为私有成员

继承

在python中所有类均继承object类
继承自定义Base类
如需重载函数则只需要在子类中重写和父类名称相同的方法
python中允许多继承,但是如果调用方法存在于每个父类中,则python解析器会调用最近类的方法
class A(object):
class B(A)
class C
class D(B,C)
# 查找方法顺序 D->B->A->C
 
02-13 22:07