python虚函数继承 虚函数多继承( 五 )


def __init__(self,name,sex,mother,father):
Person.__init__(self,name,sex)# 子类对父类的构造方法的调用
self.mother = mother
self.father = father
May = Child("May","female","April","June")
print(May.name,May.sex,May.mother,May.father)
多重继承
多重继承的概念应该比较好理解,比如现在需要新建一个类 baby 继承 Child  ,  可继承父类及父类上层类的属性及方法,优先使用层类近的方法 , 代码参考如下:
class Person(object):
def __init__(self,name,sex):
self.name = name
self.sex = sex
def print_title(self):
if self.sex == "male":
print("man")
elif self.sex == "female":
print("woman")
class Child(Person):
pass
class Baby(Child):
pass
May = Baby("May","female")# 继承上上层父类的属性
print(May.name,May.sex)
May.print_title()# 可使用上上层父类的方法
class Child(Person):
def print_title(self):
if self.sex == "male":
print("boy")
elif self.sex == "female":
print("girl")
class Baby(Child):
pass
May = Baby("May","female")
May.print_title()# 优先使用上层类的方法
说说 Python 的继承如果要编写的类是另一个类的特殊版本时,那么就可以使用继承。原有的类称为父类 , 新类称为子类。子类继承了父类的所有属性和方法 ,  同时子类还可以自定义自己的属性和方法 。
定义子类的实例时,可以通过子类的__init__()方法,给父类的所有属性赋值 。
假设有这样的一个 User 类:
接着 , 我们定义一个 Admin 类,让它继承 User 类:
运行结果:
super() 是一个特殊函数,它会把父类和子类关联起来 。因为父类也称为超类 ( superclass),所以这个函数叫做 super 。接着调用父类的__init__()方法,让子类包含父类的所有属性 。
子类除了拥有继承父类而来的属性和方法之外,还可以自定义子类自己的属性和方法 。
一般情况下,管理员账号比普通账号,拥有更高级别的权限 。因此,我们为 Admin 定义一个有别于 User的 privileges 属性 , 并定义一个 “打印拥有的权限” 的新方法:
运行结果:
对于继承而来的父类方法, 如果它不符合子类所期望的行为,那么就可以对其重写 。只要在子类中定义一个与父类同名的方法,即可实现重写 。
User 本身定义了一个 “是否验证通过” 的方法,Admin 是管理员,所以需要在打印日志中特别标注出来,这时就需要重写父类定义的方法:
运行结果:
通过重写父类方法,我们就可以让子类即可以保留或改写从父类取其精华,弃其“糟粕”啦 。
当实体越来越复杂,对应的类变得越来越大时,我们可以将这个大型类拆分成多个可协同工作的小类 。
比如,账号权限,其实即使是普通账号也是有某些权限的 。所以我们把权限定义为一个类,然后在 Admin 中使用它:
【python虚函数继承 虚函数多继承】关于python虚函数继承和虚函数多继承的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读