什么是继承?
继承的用处,就是用来指明一个类的大部分或全部功能,都是从一个父类中获得的,当你写成class Foo(Bar)时,代码就发生了继承效果,这句代码的意思是“创建一个叫Foo的类,并让他继承Bar”,当你这样写时,python语言会让Bar的实例具有的功能都工作在Foo的实例上,这样可以让你把通用的功能放到Bar里边,然后在给Foo特别设定一些功能
隐式继承
首先在父类里定义了一个函数,但没有在子类中定义的例子,这时候会发生隐式继承
代码如下
# coding: utf-8
__author__ = 'www.py3study.com'
class Parent(object):
def implicit(self):
print("PARENT implicit")
class Child(Parent):
pass
dad = Parent()
son = Child()
dad.implicit()
son.implicit()
应该看到的结果
class Child:中的pass是在python中创建空的代码区块方法,这样就创建了一个叫Child的类,但没有在里边定义任何细节,在这里它会从它的父类中继承所有的行为,运行起来就是这样(上图)
这就说明,如果你将函数放到基类中(也就是这里的Parent),那么所有的子类(也就是Child这样的类)将会自动获得这些函数功能。如果你需要很多类的时候,这样可以让你避免重复写很多代码
显示覆写(Explicit Override)
有时候你需要让子类里的函数有一个不同的行为,这种情况下隐式继承是做不到的,而你需要覆写子类中的函数,从而现实它的新功能,你只要在子类Child中定义一个相同名称的函数就可以了
代码如下:
# coding: utf-8
__author__ = 'www.py3study.com'
class