定义一个在校人的基类,分别派生出教师和学生,然后放入列表中,实现多态。
#!/usr/bin/python #Filename:inherit.py class SchoolMember: '''Represents any school member.''' def __init__(self, name, age): self.name = name self.age = age print '(Initialized SchoolMember:%s)'%self.name def tell(self): '''Tell my details''' print 'Name:"%s" Age:"%s"'%(self.name, self.age) class Teacher(SchoolMember): '''Represents teacher.''' def __init__(self, name, age, salary): SchoolMember.__init__(self, name, age) self.salary = salary print '(Initialized Teacher:%s)'%self.name def tell(self): SchoolMember.tell(self) print 'Salary:"%d"'%self.salary class Student(SchoolMember): '''Represents a student.''' def __init__(self, name, age, marks): SchoolMember.__init__(self, name, age) self.marks = marks print '(Initialized Student:%s)'%self.name def tell(self): SchoolMember.tell(self) print 'Marks:"%d"'%self.marks t = Teacher('Mrs.Shrividya', 40, 30000) s = Student('Swaroop', 22, 75) print members = [t, s] for member in members: member.tell() print 'Done'
原文地址:http://blog.csdn.net/nyist327/article/details/46522025