设计一个学生类Student和它的一个子类Undergraduate,要求如下: 1) Student类有name(姓名)和age(年龄)属性;一个包含两个参数的构造方法,用于给name和age属性赋值;一个show()方法打印 Student的属性信息。 2)本科生类Undergraduate增加一个degree(学位)属性;一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值;一个show()方法用于打印 Undergraduate的属性信息。3)在测试类中分别创建Student对象和Undergraduate对象,分别调用它们的show方法。
时间: 2024-02-27 10:57:50 浏览: 66
好的,根据您的要求,我可以给您提供以下代码示例:
```
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))
if __name__ == '__main__':
stu = Student("张三", 20)
stu.show()
ugrad = Undergraduate("李四", 22, "计算机科学")
ugrad.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()) # "计算机科学"
阅读全文