设计一个名为Student的学生类: 使用名为count的类对象属性来记录Student对象的个数; 构造函数中初始化学号及姓名两个属性,并对count属性加1; 析构函数(__del__)中对类对象属性count减1。 说明:请阅读测试样例程序来理解题目对类的接口要求。
时间: 2024-03-24 10:37:28 浏览: 56
设计一个学生类Student(学生学号、姓名、数学、英语、计算机成绩;)
5星 · 资源好评率100%
好的,这是一个简单的 Python 代码示例,实现了题目要求的 Student 类:
```python
class Student:
count = 0 # 类对象属性,用于记录 Student 对象的个数
def __init__(self, sid, name):
self.sid = sid # 学号
self.name = name # 姓名
Student.count += 1 # 对象个数加1
def __del__(self):
Student.count -= 1 # 对象个数减1
def __str__(self):
return f"学号:{self.sid},姓名:{self.name}"
# 测试样例
if __name__ == '__main__':
s1 = Student('2021001', '张三')
print(s1) # 学号:2021001,姓名:张三
print(f"当前有 {Student.count} 个学生对象")
s2 = Student('2021002', '李四')
print(s2) # 学号:2021002,姓名:李四
print(f"当前有 {Student.count} 个学生对象")
del s1
print(f"当前有 {Student.count} 个学生对象")
del s2
print(f"当前有 {Student.count} 个学生对象")
```
输出结果为:
```
学号:2021001,姓名:张三
当前有 1 个学生对象
学号:2021002,姓名:李四
当前有 2 个学生对象
当前有 1 个学生对象
当前有 0 个学生对象
```
这里重写了 `__str__` 方法,使得在打印学生对象时能够输出学号和姓名。同时,在测试样例中,通过创建两个学生对象并删除它们,验证了类对象属性 count 能够正确地记录对象个数。
阅读全文