对象方法的小例子

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

#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 正在走路

posted @ 2017-09-19 08:32  sujc-blogs  阅读(157)  评论(0编辑  收藏  举报