面向对象编程实例,函数,类的继承
2024-01-02 17:57:33
# 定义一个学生类
# 要求:
# 1.属性包括学生,学号以及语数英三科的成绩
# 2.能够设置学生某科目的成绩
# 3.能够打印该学生的所有科目的成绩
class Student:
def __init__(self, name, student_id):
self.name = name
self.student_id = student_id
self.grades = {"语文": 0, "数学": 0, "英语": 0}
# 设置学生某科目的成绩
def set_grade(self, course, grade):
if(course in self.grades):
self.grades[course] = grade
# 打印该学生的所有科目的成绩
def print_grades(self):
print(f"学生{self.name},学号{self.student_id}的成绩是:")
for course, grade in self.grades.items():
print(course, grade)
guang = Student("小光", "10086")
print(guang.name), print(guang.student_id)
guang.set_grade("语文", 95)
guang.set_grade("数学", 92)
guang.set_grade("英语", 98)
guang.print_grades()
//类的继承:
?类紧接着加一个括号,括号里又是一个类名,表示定义的这个类是括号里的这个类的子类,括号里的类是父类
# super()方法继承父类的构造函数
# 类继承练习:人力系统
# 员工分为两类:全职员工FullTimeEmployee、兼职员工PartTimeEmployee。
# 全职和兼职都有"姓名name"、"工号id"属性,
# 都具备"打印信息print_info”(打印姓名、工号)方法。
# 全职有"月薪monthly_salary"属性,
# 兼职有"日薪daily_salary"属性、"每月工作天数work_days"的属性。
# 全职和兼职都有"计算月薪calculate_monthly_pay"的方法,但具体计算过程不一样。
# 父类
class employee:
def __init__(self, name, id):
self.name = name
self.id = id
def print_info(self):
print(f"姓名:{self.name}, 工号:{self.id}")
# 类紧接着加一个括号,括号里又是一个类名,表示定义的这个类是括号里的这个类的子类,括号里的类是父类
class FullTimeEmployee(employee):
def __init__(self, name, id, monthly_salary):
# super()方法继承父类的构造函数
super().__init__(name, id)
self.monthly_salary = monthly_salary
def calculate_monthly_pay(self):
return self.monthly_salary
class PartTimeEmployee(employee):
def __init__(self, name, id, daily_salary, work_days):
# super()方法继承父类的构造函数
super().__init__(name, id)
self.daily_salary = daily_salary
self.work_days = work_days
def calculate_monthly_pay(self):
return self.work_days * self.daily_salary
ming = FullTimeEmployee("小明", "10000", 12000)
hua = PartTimeEmployee("小华", "10001", 350, 20)
ming.print_info()
hua.print_info()
print(ming.name, " 工号为:", ming.id, " 工资为:", ming.calculate_monthly_pay())
print(hua.name, "工号为:", hua.id, " 工资为:", hua.calculate_monthly_pay())
?
文章来源:https://blog.csdn.net/qq_51825761/article/details/135343724
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!