1. 创建一个名为“大学生”的父类,要求: • 初始化“大学生”实例时,应输入姓名、性别、年龄、家乡省份、学校名称等成员变量; • 初始化一个经验值变量,设置为 0; • 其中,年龄、家乡省份与经验值应为私有变量,外部不能够访问; • 创建三个 get 方法分别获取年龄、家乡省份与经验值信息。 • 创建一个名为“上自习”的方法,其输入变量为上自习的地点 X,每次调用时,会打印“学生 某某在 X 上自习”,并使经验值+1。 2. 创建一个名为“重邮学生”的子类,继承“大学生”父类,要求: • 初始化“重邮学
时间: 2024-02-03 13:11:22 浏览: 19
生”实例时,应继承“大学生”父类的成员变量; • 新增一个学院的成员变量; • 重写“上自习”方法,在输出的信息中加上学院名称; • 创建一个名为“打卡”的方法,每次调用时,会打印“学生 某某打卡成功”,并使经验值+2。
代码实现如下:
```python
class CollegeStudent:
def __init__(self, name, gender, age, hometown, school, college):
self.name = name
self.gender = gender
self._age = age
self._hometown = hometown
self.school = school
self._experience = 0
self.college = college
def get_age(self):
return self._age
def get_hometown(self):
return self._hometown
def get_experience(self):
return self._experience
def study(self, location):
print(f"学生 {self.name} 在 {location} 上自习")
self._experience += 1
class CQUStudent(CollegeStudent):
def __init__(self, name, gender, age, hometown, school, college):
super().__init__(name, gender, age, hometown, school, college)
def study(self, location):
print(f"学生 {self.name} 在 {location} 上自习,所在学院为{self.college}")
self._experience += 1
def check_in(self):
print(f"学生 {self.name} 打卡成功")
self._experience += 2
```
我们可以创建一个 CQUStudent 的实例,并调用其方法:
```python
>>> student = CQUStudent("张三", "男", 20, "四川", "重庆大学", "计算机科学与技术学院")
>>> student.study("图书馆")
学生 张三 在 图书馆 上自习,所在学院为计算机科学与技术学院
>>> student.check_in()
学生 张三 打卡成功
>>> student.get_experience()
3
```
以上就是该类的实现,其中 CQUStudent 继承了 CollegeStudent 的所有属性和方法,并重写了 study 方法和新增了 check_in 方法。