试题7:创建基类Person,其成员包括实例属性name和age,实例方法setName()和setAge()分别用来给实例属性赋值,实例方法show()用来输出实例属性name和age的值;创建派生类Student,继承Person类,新增实例属性major(专业),新增实例方法setMajor()用来给实例属性major赋值,重写基类的实例方法 show( )输出所有实例属性的值。利用_ init_ ( )构造方法完成Person和Student类的对象初始化工作,并编写测试代码。
时间: 2023-06-10 15:05:08 浏览: 279
好的,您的第一个问题是如何创建Person基类和Student派生类,并在类中定义实例属性和实例方法,同时利用_init_()方法进行对象初始化。以下是代码实现示例:
```
class Person:
def __init__(self):
self.name = ''
self.age = 0
def setName(self, name):
self.name = name
def setAge(self, age):
self.age = age
def show(self):
print('Name:', self.name)
print('Age:', self.age)
class Student(Person):
def __init__(self):
super().__init__()
self.major = ''
def setMajor(self, major):
self.major = major
def show(self):
super().show()
print('Major:', self.major)
# 测试代码
person = Person()
person.setName('Tom')
person.setAge(20)
person.show()
student = Student()
student.setName('Jerry')
student.setAge(18)
student.setMajor('Computer Science')
student.show()
```
在上面的代码中,首先定义了Person基类,它包含了实例属性name和age,以及实例方法setName()、setAge()和show()。接着定义了Student派生类,在其中增加了实例属性major和实例方法setMajor(),并重写了父类的show()方法。最后,在测试代码中分别创建了Person和Student类的对象,并调用各自的实例方法进行属性赋值和输出。
阅读全文