"""
老师 ‘是’ 人 ==》继承
老师 ‘有’ 课程 ==》组合
"""
class People:
school = 'luffycity'
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
class Teacher(People):
def __init__(self, name, age, sex, level, salary, ):
super().__init__(name, age, sex)
self.level = level
self.salary = salary
def teach(self):
print('%s is teaching' % self.name)
class Student(People):
def __init__(self, name, age, sex, class_time, ):
super().__init__(name, age, sex)
self.class_time = class_time
def learn(self):
print('%s is learning' % self.name)
class Course:
def __init__(self, course_name, course_price, course_period):
self.course_name = course_name
self.course_price = course_price
self.course_period = course_period
def tell_info(self):
print('课程名<%s> 课程价钱<%s> 课程周期<%s>' % (self.course_name, self.course_price, self.course_period))
class Date:
def __init__(self, year, mon, day):
self.year = year
self.mon = mon
self.day = day
def tell_info(self):
print('%s-%s-%s' % (self.year, self.mon, self.day))
# teacher1=Teacher('alex',18,'male',10,3000,) # 创建老师对象
# teacher2=Teacher('egon',28,'male',30,3000,)
# python=Course('python',3000,'3mons') # 创建课程对象
# linux=Course('linux',2000,'4mons')
#
# # print(python.course_name) # 打印对象属性
#
# teacher1.course=python # 将实例老师增加属性。属性为对象:python
# teacher2.course=python
#
# print(python) # python的对象地址
# print(teacher1.course) # 调用实例老师的新增属性course
# print(teacher2.course)
# print(teacher2.__dict__)
#
# # {'sex': 'male', 'level': 30, 'salary': 3000, 'name': 'egon', 'course': <__main__.Course object at 0x000000000A5ACD68>, 'age': 28}
# # 此时增加了属性course。值是一个内存地址
# # print(teacher1.course.course_name)
# # print(teacher2.course.course_name)
# teacher1.course.tell_info()
# student1=Student('张三',28,'female','08:30:00')
# student1.course1=python
# student1.course2=linux
# student1.course1.tell_info()
# student1.course2.tell_info()
# student1.courses=[] # 使用列表格式
# student1.courses.append(python)
# student1.courses.append(linux)
student1 = Student('张三', 28, 'female', '08:30:00')
d = Date(1988, 4, 20)
python = Course('python', 3000, '3mons')
student1.birth = d
student1.birth.tell_info()
student1.course = python
student1.course.tell_info()
print(student1.__dict__)
# {'class_time': '08:30:00', 'course': <__main__.Course object at 0x000000000A5AC7B8>, 'sex': 'female', 'age': 28, 'birth': <__main__.Date object at 0x000000000A5AC6D8>, 'name': '张三'}
模拟组合的应用场景
猜你喜欢
转载自blog.csdn.net/u013193903/article/details/80629618
今日推荐
周排行