完成 School 类中所有方法的实现。 确保 add_student 和 add_teacher 方法能够正确地将学生和教师信息添加到私有列表中。
时间: 2024-10-06 20:01:10 浏览: 20
首先,假设我们正在创建一个简单的学校类(School),它有两个私有属性,一个是学生列表(_students),另一个是教师列表(_teachers)。下面是 School 类的基本实现,包括 add_student 和 add_teacher 方法:
```python
class School:
def __init__(self):
# 私有列表,用于存储学生和教师
self.__students = []
self.__teachers = []
def _add_to_students(self, student_name, student_age):
"""
私有辅助方法,用于添加学生到内部列表
"""
new_student = {'name': student_name, 'age': student_age}
self.__students.append(new_student)
def _add_to_teachers(self, teacher_name, subject):
"""
私有辅助方法,用于添加教师到内部列表
"""
new_teacher = {'name': teacher_name, 'subject': subject}
self.__teachers.append(new_teacher)
def add_student(self, student_name, student_age):
"""
添加学生到学校
"""
self._add_to_students(student_name, student_age)
print(f"Student {student_name} added successfully.")
def add_teacher(self, teacher_name, subject):
"""
添加教师到学校
"""
self._add_to_teachers(teacher_name, subject)
print(f"Teacher {teacher_name} teaching {subject} added successfully.")
# 提供访问学生和教师列表的方法(仅示例,实际应用可能需要权限控制)
@property
def students(self):
return self.__students
@property
def teachers(self):
return self.__teachers
# 使用示例
school = School()
school.add_student("Alice", 16)
school.add_teacher("Mr. Brown", "Math")
```
在这个实现中,add_student 和 add_teacher 方法会调用各自的私有辅助方法来添加新成员,并提供 getter 方法让学生和教师列表对外可见,但实际操作时是受限的。
阅读全文