设计一个学生类Student和它的一个子类Undergraduate,要求如下: (1)Student类有name(姓名)和age(年龄)属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息。 (2)本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree赋值,一个show()方法用于打印Undergraduate的属性信息。 (3)在测试类中分别创建Student对象和Undergraduate对象,调用它们的show()。
时间: 2023-05-21 19:02:10 浏览: 199
以下是代码实现:
```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):
print("姓名:{},年龄:{},学位:{}".format(self.name, self.age, self.degree))
# 测试
s = Student("张三", 20)
s.show()
u = Undergraduate("李四", 22, "本科")
u.show()
```
输出结果:
```
姓名:张三,年龄:20
姓名:李四,年龄:22,学位:本科
```
相关问题
设计一个学生类Student和它的一个子类Undergraduate
好的,根据您的要求,我为您设计了一个学生类Student和它的一个子类Undergraduate:
```
class Student:
def __init__(self, name, age, gender, id_number, major):
self.name = name
self.age = age
self.gender = gender
self.id_number = id_number
self.major = major
def study(self):
print("I'm studying hard!")
class Undergraduate(Student):
def __init__(self, name, age, gender, id_number, major, year):
super().__init__(name, age, gender, id_number, major)
self.year = year
def attend_classes(self):
print("I'm attending classes every day.")
def submit_assignment(self):
print("I'm submitting assignments on time.")
```
以上是一个简单的学生类Student和它的一个子类Undergraduate,Student类包含学生的基本信息,并有一个study方法;Undergraduate类继承了Student类的属性和方法,并且增加了一个year属性,同时有两个新的方法attend_classes和submit_assignment。
希望这个回答能够为您提供帮助。
设计一个学生类student和它的一个子类undergraduate
类名: Student
属性:
- 姓名(name)
- 学号(student_id)
- 年龄(age)
方法:
- __init__(self, name, student_id, age)
- get_name(self)
- get_student_id(self)
- get_age(self)
类名: Undergraduate
属性:
- 专业(major)
方法:
- __init__(self, name, student_id, age, major)
- get_major(self)
- 覆盖父类的get_name()、get_student_id()、get_age()方法
实例:
undergraduate = Undergraduate("小明", "20221101", 20, "计算机科学")
print(undergraduate.get_name()) # "小明"
print(undergraduate.get_student_id()) # "20221101"
print(undergraduate.get_age()) # 20
print(undergraduate.get_major()) # "计算机科学"