对象方法的小例子

来源:互联网 发布:法律硕士有奖学金知乎 编辑:程序博客网 时间:2024/05/20 23:56

要求:
定义父类:人
属性为:年龄。姓名
方法为:走路(打印:姓名“正在走路”)
定义子类:老师
属性:上课学生
方法:授课(打印:姓名+老师正在授课,并调用所有上课学生的听课方法),下课,(打印下课,并调用所有学生的走路方法)
定义子类:学生
学号
方法:听课(打印:姓名+学号‘正在听课’)
实例化一个老师,三个学生,然后模拟老师授课,老师下课的情景

#coding: utf-8class 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 正在走路

原创粉丝点击