需求:使用面向对象的思想模拟下面的情景
开学了,王老师让小明,小花,小丽分别自我介绍,需要介绍姓名,年龄,爱好,然后一段才艺展示
分析:
老师类:
特征:姓名
行为:让xx做自我介绍
学生类:
特征:姓名,年龄,爱好
行为:才艺展示【小明:打鼓;小花:跳舞;小丽:唱歌】实现:首先在一个practice01文件夹下创建三个文件,如下图所示
具体代码:创建teacher.py文件,student.py文件,practiceDemo1.py文件,保存并运行practiceDemo1.py,结果如下:
teacher.py文件:
'''老师类: 特征:姓名 行为:让xx做自我介绍 ''' class Teacher(): #1.类名 #2.特征:成员变量 name = "" #3.行为:成员方法 def letStudentIntroduce(self,stu): #stu = xioaming #老师发出指令 print(self.name + "让" + stu.name + "做自我介绍") #学生做自我介绍 stu.introduce() #不同学生展示不同才艺 if stu.name == "小明": stu.dagu() elif stu.name == "小花": stu.dance() else: stu.sing()
student.py文件:
''' 学生类: 特征:姓名,年龄,爱好 行为:才艺展示【小明:打鼓;小花:跳舞;小丽:唱歌】 ''' class Student(): #1.类名 #2.特征:成员变量 name = "" age = 0 hobby = "" #3.行为:成员方法 def introduce(self): print("大家好,我是%s,今年%d岁,爱好是%s"%(self.name,self.age,self.hobby)) def dagu(self): print("打鼓") def dance(self): print("芭蕾") def sing(self): print("门前大桥下游过一群鸭")
practiceDemo1.py文件:
#需求:使用面向对象的思想模拟下面的情景 ''' 开学了,王老师让小明,小花,小丽分别自我介绍,需要介绍姓名,年龄,爱好,然后一段才艺展示 分析: 老师类: 特征:姓名 行为:让xx做自我介绍 学生类: 特征:姓名,年龄,爱好 行为:才艺展示【小明:打鼓;小花:跳舞;小丽:唱歌】 ''' from student import Student #from 文件名 import 类名 from teacher import Teacher #创建一个老师的对象 wang = Teacher() wang.name = "王老师" #创建一个学生的对象 xiaoming = Student() xiaoming.name = "小明" xiaoming.age = 18 xiaoming.hobby = "打鼓" #王老师执行自己的行为 wang.letStudentIntroduce(xiaoming)
注意:设计面向对象程序的三要素:
1.事物的名称:类名
2.事物的特征:成员变量/属性
3.事物的行为:成员方法