请为学校图书管理系统设计一个管理员类和 一个学生类。其中: 管理员信息:工号,姓名,年龄,工资。4 #+ 学生信息:学号,姓名,年龄,所借图书。 ## 为学生类添加【借书 borrow】和【还书returnBack〕的方法: ersi 最后,编写一段测试代码对类的功能进行验证。建议,尝试引入一个基类,使用类的继承来简化设计。
时间: 2023-12-31 07:07:01 浏览: 118
好的,为了简化设计,我们可以引入一个基类,命名为Person类,包含共同的属性:姓名,年龄。然后管理员类和学生类继承Person类,添加自己的属性和方法。
下面是代码实现:
```python
# 定义基类Person
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# 定义管理员类Admin,继承自Person类
class Admin(Person):
def __init__(self, name, age, staff_id, salary):
super().__init__(name, age)
self.staff_id = staff_id
self.salary = salary
# 定义学生类Student,继承自Person类
class Student(Person):
def __init__(self, name, age, student_id):
super().__init__(name, age)
self.student_id = student_id
self.borrowed_books = []
# 学生借书方法
def borrow_book(self, book_name):
self.borrowed_books.append(book_name)
print(f"{self.name}借阅了{book_name}")
# 学生还书方法
def return_book(self, book_name):
if book_name in self.borrowed_books:
self.borrowed_books.remove(book_name)
print(f"{self.name}归还了{book_name}")
else:
print(f"{self.name}没有借阅过{book_name},无法归还")
# 测试代码
if __name__ == "__main__":
admin = Admin("张三", 30, "001", 10000)
student = Student("李四", 20, "20210001")
student.borrow_book("Python入门教程")
student.borrow_book("算法基础")
student.return_book("Python入门教程")
student.return_book("Java编程思想")
```
输出结果:
```
李四借阅了Python入门教程
李四借阅了算法基础
李四归还了Python入门教程
李四没有借阅过Java编程思想,无法归还
```
阅读全文