定义一个学生类(Student),类中定义speak()方法。从学生类中分别派生出中学生(MiddleStudent)和大学生(CollegeStudent),通过继承学生类的方式实现多态。
时间: 2024-01-29 10:01:54 浏览: 75
设计一个学生类Student(学生学号、姓名、数学、英语、计算机成绩;)
5星 · 资源好评率100%
好的,下面是代码实现:
```python
class Student:
def speak(self):
print("I am a student.")
class MiddleStudent(Student):
def speak(self):
print("I am a middle school student.")
class CollegeStudent(Student):
def speak(self):
print("I am a college student.")
# 测试
s1 = Student()
s2 = MiddleStudent()
s3 = CollegeStudent()
s1.speak() # I am a student.
s2.speak() # I am a middle school student.
s3.speak() # I am a college student.
```
这里我们定义了一个 `Student` 类,它有一个 `speak()` 方法,输出 "I am a student." 这句话。然后我们分别从 `Student` 类中派生出 `MiddleStudent` 和 `CollegeStudent` 两个子类,并分别重写了它们的 `speak()` 方法,输出不同的话。最后我们创建一个 `Student` 对象、一个 `MiddleStudent` 对象和一个 `CollegeStudent` 对象,并依次调用它们的 `speak()` 方法,可以看到它们分别输出了不同的话,这就是多态的体现。
阅读全文