设计一个学生类Student和它的一个子类Undergraduate,要求如下: 1) Student类有name(姓名)、和age(年龄)属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息。 2) 本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,一个show()方法用于打印Undergraduate的属性信息。 3) 在测试类中分别创建Student对象和Undergraduate对象,调用它们的show()。
时间: 2024-04-07 11:33:23 浏览: 132
以下是Student和Undergraduate类的设计:
```python
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
def show(self):
print(f"Name: {self.name}")
print(f"Age: {self.age}")
class Undergraduate(Student):
def __init__(self, name, age, degree):
super().__init__(name, age)
self.degree = degree
def show(self):
super().show()
print(f"Degree: {self.degree}")
# 测试类
student = Student("John", 20)
student.show()
print()
undergrad = Undergraduate("Jane", 22, "Bachelor of Science")
undergrad.show()
```
这段代码定义了一个Student类和它的子类Undergraduate。Student类有name和age属性,一个构造方法用于初始化这两个属性,并有一个show()方法用于打印属性信息。Undergraduate类继承自Student类,增加了一个degree属性,并且重写了show()方法以打印Undergraduate对象的属性信息。
在测试类中,首先创建一个Student对象student,并调用它的show()方法打印属性信息。接着创建一个Undergraduate对象undergrad,并调用它的show()方法打印属性信息。
阅读全文