在原来写的student类、teacher类和people类的基础上,将student类和teacher类改成people类的子类。并尝试将成员变量或方法设置成不同的访问权限(public、private、protected、友好)。
时间: 2024-05-16 22:16:10 浏览: 66
好的,我来给您展示一下代码。
```python
class People:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def introduce(self):
print(f"My name is {self.name}, I'm {self.age} years old, and I am a {self.gender}.")
class Student(People):
def __init__(self, name, age, gender, grade):
super().__init__(name, age, gender)
self.__grade = grade
def get_grade(self):
return self.__grade
def set_grade(self, grade):
self.__grade = grade
class Teacher(People):
def __init__(self, name, age, gender, subject):
super().__init__(name, age, gender)
self._subject = subject
def teach(self):
print(f"I am teaching {self._subject}.")
```
在这个代码中,我们将student类和teacher类都改为了people类的子类。其中,student类的成绩是私有的,只能通过get_grade和set_grade方法访问和修改;而teacher类的科目是受保护的,可以在子类和本类中访问,但在类外部无法直接访问,可以通过teach方法来进行访问。
希望对您有所帮助。
阅读全文