1.设计一个学生类Student和它的一个子类Undergrduare. 要求如下: (1) Student类有name 和age属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息。 (2)本科生类Undergraduate 增加一个degree(学位)属性。有一一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,--个show()方法用于打印Undergraduate的属性信息。 (3)在测试类中分别创建Student对象和Undergraduate对象,调用它们的show()。
时间: 2023-09-13 13:05:13 浏览: 91
好的,根据您的要求,我为您编写了如下的学生类Student和它的子类Undergraduate,以及测试类Test:
```python
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
def show(self):
print("姓名:{},年龄:{}".format(self.name, self.age))
class Undergraduate(Student):
def __init__(self, name, age, degree):
super().__init__(name, age)
self.degree = degree
def show(self):
super().show()
print("学位:{}".format(self.degree))
class Test:
def run(self):
s = Student("小明", 20)
s.show()
u = Undergraduate("小红", 22, "本科")
u.show()
if __name__ == '__main__':
Test().run()
```
代码中,我们首先定义了一个学生类Student,它有name和age属性,以及一个构造方法__init__()和一个show()方法,用于初始化属性和打印属性信息。
然后,我们定义了一个本科生类Undergraduate,它继承自Student类,增加了一个degree属性,以及一个构造方法__init__()和一个show()方法,用于初始化属性和打印属性信息。在构造方法中,我们使用super()函数调用父类的构造方法,来初始化继承的name和age属性。
最后,我们定义了一个测试类Test,它创建了一个Student对象s和一个Undergraduate对象u,并调用它们的show()方法来打印属性信息。
当我们运行测试类时,就会输出以下结果:
```
姓名:小明,年龄:20
姓名:小红,年龄:22
学位:本科
```
阅读全文