标签:
看Django源代码,类的继承搞不太懂,所以先学习学习。
1 # -*- coding:utf-8 -*- 2 3 class SchoolMember: 4 def __init__(self,name,age): 5 self.name = name 6 self.age = age 7 print ‘init SchoolMember: ‘, self.name, self.age 8 9 def tell(self): 10 print ‘name:%s; age:%s‘ % (self.name, self.age) 11 12 13 class Teacher(SchoolMember): 14 def __init__(self,name,age,salary): 15 # 继承 schoolmember类,name ,age 属性???? 这到底是继承还是重写呢? 16 # 首先,继承了父类,先会在父类的初始化,然后继承过来 17 SchoolMember.__init__(self,name,age) 18 self.salary = salary 19 print ‘init Teacher: ‘, self.name 20 21 def tell(self): 22 SchoolMember.tell(self) # 调用父类的方法 23 print ‘salary: ‘, self.salary 24 25 26 class Student(SchoolMember): 27 def __init__(self,name,age,marks): 28 # 也是继承那个 29 SchoolMember.__init__(self,name,age) 30 self.marks = marks 31 print ‘init Student: ‘, self.name 32 33 def tell(self): 34 SchoolMember.tell(self) 35 print ‘marks: ‘, self.marks 36 37 38 if __name__ == "__main__": 39 t = Teacher(‘yanggang‘, 20, 1000) 40 s = Student(‘liming‘, 12, 86) 41 # members = [t,s] 42 # print 43 # for member in members: 44 # member.tell()
(1)继承父类之后,用子类的实例,会先走父类,
SchoolMember.__init__(self,name,age)
总结
标签:
原文地址:http://www.cnblogs.com/IDomyself/p/4791496.html