1)设计类Person,包含2个成员变量name和age,name默认是小杨,age默认是18。可通过构造函数进行初始化; (2)类Person实现了__repr__函数,输出的格式为“姓名:XXX,年龄:XXX岁" (3)类Person实现类的成员方法 getname,getage,setage,分别实现对2个成员变量的访问控制 (4) 设计类Person的派生类 Student,增加了studentID,studentClass两个成员变量,需要在构造函数中初始化; (5)类 Student也实现了__repr__函数,输出的格式为“姓名:XXX,年龄:XXX岁,学号:XXX,班级:XXX" (6)编写测试代码,测试功能
时间: 2024-02-17 14:05:23 浏览: 125
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
好的,下面是设计的代码实现,其中包括了Person类和Student类的定义,以及测试代码的编写:
```python
class Person:
def __init__(self, name='小杨', age=18):
self.name = name
self.age = age
def __repr__(self):
return f'姓名:{self.name},年龄:{self.age}岁'
def getname(self):
return self.name
def getage(self):
return self.age
def setage(self, age):
self.age = age
class Student(Person):
def __init__(self, name='小杨', age=18, studentID='', studentClass=''):
super().__init__(name, age)
self.studentID = studentID
self.studentClass = studentClass
def __repr__(self):
return f'姓名:{self.name},年龄:{self.age}岁,学号:{self.studentID},班级:{self.studentClass}'
# 测试代码
if __name__ == '__main__':
p1 = Person()
print(p1)
p2 = Person('小王', 20)
print(p2)
p2.setage(22)
print(p2.getage())
s1 = Student('小李', 19, '001', '一班')
print(s1)
```
测试结果如下:
```
姓名:小杨,年龄:18岁
姓名:小王,年龄:20岁
22
姓名:小李,年龄:19岁,学号:001,班级:一班
```
希望能够帮助到你!
阅读全文