对象方法的小例子
要求:
定义父类:人
属性为:年龄。姓名
方法为:走路(打印:姓名“正在走路”)
定义子类:老师
属性:上课学生
方法:授课(打印:姓名+老师正在授课,并调用所有上课学生的听课方法),下课,(打印下课,并调用所有学生的走路方法)
定义子类:学生
学号
方法:听课(打印:姓名+学号‘正在听课’)
实例化一个老师,三个学生,然后模拟老师授课,老师下课的情景
#coding: utf-8
class Person(object):
def __init__(self,name,age):
self.name = name
self.age = age
def run(self):
print self.name,('正在走路')
class Teacher(Person):
def __init__(self,name,age,students):
Person.__init__(self,name,age)
self.students = students
def teach(self):
print self.name,'正在上课'
for i in self.students:
i.listen()
def dismiss(self):
print "下课了"
for i in self.students:
i.run()
class Student(Person):
def __init__(self,name,age,num):
Person.__init__(self,name,age)
self.num = num
self.name = name
self.age = age
def listen(self):
print self.name,self.num,'正在听课'
if __name__ == '__main__':
studnetlist = [Student('zhangsan','14','07150201'),Student('lishi','12','07150202')]
lwj = Teacher('李文静','30',studnetlist)
lwj.teach()
print '…………四十分钟之后…………'
lwj.dismiss()
效果
李文静 正在上课
zhangsan 07150201 正在听课
lishi 07150202 正在听课
…………四十分钟之后…………
下课了
zhangsan 正在走路
lishi 正在走路