概念:现实中的“继承”,子女继承父母的“财产资源”
编程中的“继承”,一个类“拥有”另外一个类的“资源”的方式之一。
“拥有”:并不是指资源的复制,变成双份资源。而是资源的“使用权”。
“资源”:指“非私有的”属性和方法。
Dog类继承自Animal类:
被继承的类有多种叫法:父类、超类、基类。
继承类的多种叫法:子类、派生类。
通常都说:父类、子类。
目的:方便资源重用。
分类:
单继承:
概念:仅仅继承了一个父类。
语法:
class Dog(Animal):
pass
多继承:
概念:继承了多个父类。
语法:
class Xxx(Animal, Dog):
pass
type和object的区分:
继承下的影响:
资源的继承:
明确:在python当中,继承是指,资源的使用权。所以,测试某个资源能否被继承,其实就是在测试在子类当中,能不能访问到父类当中的这个资源。
结论:除下私有的属性和私有的方法,其他的基本都能继承。(公有属性/方法、受保护属性/方法、内置方法)
class Animal:
# 资源指的就是属性和方法。
# 设置不同的权限的属性和方法,在继承当中来测试。
# 看在子类当中能否访问到这些属性和方法。
a = 1
_b = 2
__c = 3
def t1(self):
print("t1")
def _t2(self):
print("t2")
def __t3(self):
print("t3")
def __init__(self):
print("init, Animal")
#
# 资源的使用:
#
class Person(Animal):
def test(self):
print(self.a)
print(self._b)
# print(self.__c)
self.t1()
self._t2()
# self.__t3()
self.__init__()
p = Person()
p.test()
#
#