赞
踩
内容学习自网络:
1.单继承
2.多继承及super使用详解
继承性的好处:
①减少了代码的冗余,提供了代码的复用性
②提高了程序的扩展性
③(类与类之间产生了联系)为多态的使用提供了前提
#python2中无继承父类,称之为经典类,python3中,默认继承object类,称之为新式类
#注意:python3中,(object)可以显示出来,不写也不会报错。
class 子类A(父类1,父类2):
子类体
#注意:区分单继承和多继承主要看子类继承类中的类个数,单个为单继承,多个为多继承。
1.子类在继承父类时,默认继承了父类的 init()方法,如果子类没有重写__init__方法,则在创建对象时默认调用父类的该方法。但如果重写了__init__ 时,实例化子类时,就不会调用父类已经定义的 init
2.因为子类默认继承了父类的构造方法,所以子类可以不需要重写__init_()方法。如果子类重写了自己的__init__()方法,那么子类该方法的参数个数要大于等于父类的个数(要包含父类的参数)。否则,报错。因为python中一个类中只能有一个init方法,不支持构造方法的重载。
3.注意:可以用super().的形式调用父类的构造方法,但这个时候参数不用写self了,注意跟直接用父类名.形式调用的区别。
格式:
super().init(name,age) #此时不用添加self
Person.init(self,name) #此时需要添加self,切记这里Parent后不需要跟()
4.子类继承了父类所有的属性,包扣私有属性,只是私有属性不能直接去调用,而是要通过get/set方法进行调用。
5.子类继承了父类的所有方法,同样 私有方法不能外部直接调用。
6.同样如果父类还有父类,那么子类也会继承父类的父类所有方法和属性(注意私有属性和 方法同样访问不了)
代码示例:
#父类Person
class Person(object):
country = "china"
__sex = "male"
def __init__(self,name ,age):
self.nam
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。