特性:
封装
封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。
封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
__init__ 是封装必不可少的,看列子:
class Init():
def __init__(self,name,age,gender):
self.Name = name
self.Age = age
self.Gender = gender
obj1 = Init('xiao',15,'男')
obj2 = Init('yao',16,'女')
print(obj1.Name)
print(obj2.Name)
这样实现了数据封装
xiao
yao
继承
继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。(此处我们只讨论python3的继承)
通过继承创建的新类称为“子类”或“派生类”。
被继承的类称为“基类”、“父类”或“超类”。
继承的过程,就是从一般到特殊的过程。
要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。
在某些 OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。
class C1():
def c1(self):
print('C1')
class C2(C1):
def c2(self):
print('C2')
class C3():
def c3(self):
print('C3')
def c1(self):
print('C3')
class C4(C2,C3):
def c4(self):
print('C4')
obj = C4()
obj.c1()
obj1 = C3()
obj1.c1()
输出结果:
C1
C3
可见,C4继承C2,C3,C2又继承C1,所以obj会有c1方法。
类的继承可以总结为:
1.左侧优先
class C4(C2,C3) 这里C2比C3优先
2.深度优先
上面例子C1和C3都有c1方法,但是最后C4继承的是C1的c1
3.有共同的父类,最后找父类
看图红色箭头表示继承关系,黑色箭头表示查找关系
图一: 图二:
aaarticlea/png;base64,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