学生(Student)类是人的子类,他的特有私有化属性为成绩(score),有一个3个参数(name,age, score)的构造方法:教师(Teacher)类是人的子类,他的特有私有化属性为工资(salary),有一个3个参数(name,age,salary)的构造方法。 测试数据 教师对象 姓名:李建设年龄:55 工资:7890.20 季字 学生对象 姓名,李小毛年龄:22成绩:88.60 题目要求: 21104128 根据给定数据实例化学生对象和教师对象,实现学生说学生的话(输出自己的信息),教师说教师的话(输出自己的信息)。
时间: 2023-02-06 12:30:51 浏览: 104
设计学生类Student,属性:编号(整型);姓名(字符串),成绩(整型)。
5星 · 资源好评率100%
这是一道继承和封装的练习题。
首先,我们定义一个基类 "Person",它有两个私有属性 "name" 和 "age",以及一个构造方法,用于初始化 "name" 和 "age"。
```
class Person:
def __init__(self, name, age):
self.__name = name
self.__age = age
```
然后,我们定义两个子类 "Student" 和 "Teacher",分别继承 "Person" 类。"Student" 类有一个额外的私有属性 "score","Teacher" 类有一个额外的私有属性 "salary"。同时,我们在这两个子类中分别定义一个构造方法,用于初始化 "score" 和 "salary"。
```
class Student(Person):
def __init__(self, name, age, score):
super().__init__(name, age)
self.__score = score
class Teacher(Person):
def __init__(self, name, age, salary):
super().__init__(name, age)
self.__salary = salary
```
最后,我们可以根据给定的数据实例化 "Student" 和 "Teacher" 对象,并调用相应的方法输出对象的信息。
```
# 创建教师对象
teacher = Teacher("李建设", 55, 7890.20)
# 创建学生对象
student = Student("李小毛", 22, 88.60)
# 学生说学生的话,输出自己的信息
student.speak() # 输出: 我叫李小毛,今年22岁,我的成绩是88.60
# 教师说教师的话,输出自己的信息
teacher.speak() # 输出: 我叫李建设,
阅读全文