first of all,此篇多谢这篇文章的启发教导,康桑哈密大,链接在这,需要更详细的请移步:
https://www.cnblogs.com/bigberg/p/7182741.html#_label1
什么事超继承呢,就是父类的,子类会要,同时也会有自己的方法属性
这里我主要是想说下构造函数的超继承,毕竟也算是今天才懂了几分
写法的话,有两种,但是我比较喜欢这么写
super(sonClass,self).init(args0,args1,…argsn)
另一种写法是这样的
父类名称.init(self,参数1,参数2,…)
class Person:
def __init__(self,age,height,sex):
self.age = age
self.height = height
self.sex= sex
def run(self):
print('he can run')
class Student(Person):
def __init__(self,age,height,sex,weight):#继承,重构
super(Student,self).__init__(age,height,sex)#继承父类的方法
self.weight = weight#定义子类本身的属性
def run(self):#重写类方法
print('waohhhhhh,he is running')
c = Student(10,100,'M',50)#创建子类的实例,注意参数的传递,虽然父类只有三个参数,但是子类自己在构造函数里面又加了一个,所以,这里要传4个
c.run()#调用子类的方法
print(c.weight,c.sex)#打印父类以及子类的属性
输出结果为:
waohhhhhh,he is running
50 M
see you again
imback
上面说的可能不够清楚,如果类有初始化函数,那么,在创建实例的时候,就需要传参的,就是C那里