python之类的组合
2024-09-05 17:31:56
类的组合
学校与课程没有共同点,课程与老师没有共同点,但是学校与课程有关联,课程与老师有关联;学校、课程、老师是三个完全不同的类;课程是属于学校的,老师是教课程的,此时我们就用到类的组合来关联,学校-课程,课程-老师;
class School:
"""
学校类
"""
def __init__(self,name,address):
self.name = name
self.address = address
class Course:
"""
课程类
"""
def __init__(self,name,price,period,school):
self.name = name
self.price = price
self.period = period
self.school = school
class Teacher:
"""
老师类
"""
def __init__(self,name,gender,age,course):
self.name = name
self.gender = gender
self.age = age
self.course = course
#学校实例化
x1 = School("oldboy","北京校区")
x2 = School("oldboy","天津校区")
x3 = School("oldboy","南京校区")
#课程实例化
k1 = Course("python",19880,"6个月",x1) #课程与学校关联
k2 = Course("linux",17880,"4个月",x2)
k3 = Course("go",20000,"8个月",x3)
#教师实例化
j1 = Teacher("alex","male",34,k2) #教师与课程关联
j2 = Teacher("武sir","male",30,k1)
j3 = Teacher("林海峰","male",35,k3)
print(k1.__dict__)
print(k1.school.name)
print(j1.__dict__)
print(j1.course.name)
class School:
"""
学校类
"""
def __init__(self,name,address):
self.name = name
self.address = address
class Course:
"""
课程类
"""
def __init__(self,name,price,period,school):
self.name = name
self.price = price
self.period = period
self.school = school
class Teacher:
"""
老师类
"""
def __init__(self,name,gender,age,course):
self.name = name
self.gender = gender
self.age = age
self.course = course
#学校实例化
x1 = School("oldboy","北京校区")
x2 = School("oldboy","天津校区")
x3 = School("oldboy","南京校区")
#课程实例化
k1 = Course("python",19880,"6个月",x1) #课程与学校关联
k2 = Course("linux",17880,"4个月",x2)
k3 = Course("go",20000,"8个月",x3)
#教师实例化
j1 = Teacher("alex","male",34,k2) #教师与课程关联
j2 = Teacher("武sir","male",30,k1)
j3 = Teacher("林海峰","male",35,k3)
print(k1.__dict__)
print(k1.school.name)
print(j1.__dict__)
print(j1.course.name) msg = """
1 oldboy 北京校区
2 oldboy 天津校区
3 oldboy 南京校区
"""
res = """
1 python
2 linux
3 go
"""
while True:
print(msg)
menu = {
"":x1,
"":x2,
"":x3,
}
choice = input("选择学校>>>:")
school_boj = menu[choice]
name = input("课程名称>>>:")
price = input("课程价钱>>>:")
period = input("课程周期>>>:")
new_course = Course(name,price,period,school_boj)
print("课程【%s】属于【%s】学校"%(new_course.name,new_course.school.name))
print(res)
inner = {
"":k1,
"":k2,
"":k3, }
choice1 = input("选择课程>>>:")
course_boj = inner[choice1]
name = input("老师名称>>>:")
gender = input("老师性别>>>:")
age = input("老师年龄>>>:")
new_teacher = Teacher(name,gender,age,course_boj)
print("老师【%s】教的是【%s】"%(new_teacher.name,new_teacher.course.name))
选课系统
最新文章
- EntityFramework的多种记录日志方式,记录错误并分析执行时间过长原因(系列4)
- python实用小技巧自问自答系列(一):查看类中函数文档doc的方法
- css 默认
- TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节
- <;转载>;国外程序员推荐的免费编程书籍资源
- action 关联
- c语言指针与结构体之内存动态分配
- iOS 性能测试 - FBMemoryProfiler
- ext Window点击右上角的关闭(Xbutton)加入监控事件
- Java—Day5课堂练习
- vim 查找的技巧
- com.alibaba.druid.pool.DruidDataSource : {dataSource-2} init error
- 华为S5700配置端口镜像和华三S5120配置802.1X认证记录
- VMware5.5-虚拟机的迁移和资源分配
- wpf UI 布局
- HTML命名规范
- 怎样将本地web数据库项目部署到腾讯云服务器上?
- Git/GitHub基本操作
- Python——可变类型与不可变类型(即为什么函数默认参数要用元组而非列表)
- 【.NET】AutoMapper学习记录
热门文章
- 树(6)-----DFS
- windows系统下jenkins环境搭建与基本使用
- URL编码及解码
- [网络流24题] 方格取数问题/骑士共存问题 (最大流->;最大权闭合图)
- [luogu4037 JSOI2008] 魔兽地图 (树形dp)
- CSS中选择器优先级的权重计算
- Objective-C - 改变NSMutableArray的特定元素
- 怎样使windows上的javaWEB项目公布到Centos上
- intel dpdk在ubuntu12.04中測试testpmd、helloworld程序
- 关于ZipOupputStream添加压缩包常见问题