1.创建Person类,有姓名、年龄(私有)、性别(私有)3个属性,创建方法personInfo,打印这个人的信息。 2.创建Student类,继承Person类,有学院college、班级banji两个私有属性,重写父类personInfo方法,其中将学生的姓名、年龄、性别、学院、班级信息全部打印出来。 创建study方法(参数为Teacher对象),打印“我是xx,老师zzz,我终于学会了!” zzz为老师的teach方法返回的信息。 3.创建Teacher类,继承Person类,属性有学院college,专业professional,重写父类personInfo方法,其中将老师的姓名、年龄、性别、学院、专业信息打印出来。 创建teach方法,返回字符串“今天讲了如何用面向对象设计程序”。 4.创建两个学生对象,创建一个老师对象。 5.两个学生对象分别调用study方法。 6.将三个对象添加至列表中,通过循环将列表中的对象的个人信息打印出来
时间: 2024-01-24 09:18:32 浏览: 125
1. 实现Person类:
```python
class Person:
def __init__(self, name, age, gender):
self.__name = name
self.__age = age
self.__gender = gender
def personInfo(self):
print(f"姓名:{self.__name},年龄:{self.__age},性别:{self.__gender}")
```
2. 实现Student类:
```python
class Student(Person):
def __init__(self, name, age, gender, college, banji):
super().__init__(name, age, gender)
self.__college = college
self.__banji = banji
def personInfo(self):
super().personInfo()
print(f"学院:{self.__college},班级:{self.__banji}")
def study(self, teacher):
print(f"我是{self._Person__name},老师{teacher._Person__name},我终于学会了!{teacher.teach()}")
```
3. 实现Teacher类:
```python
class Teacher(Person):
def __init__(self, name, age, gender, college, professional):
super().__init__(name, age, gender)
self.__college = college
self.__professional = professional
def personInfo(self):
super().personInfo()
print(f"学院:{self.__college},专业:{self.__professional}")
def teach(self):
return "今天讲了如何用面向对象设计程序"
```
4. 创建对象:
```python
s1 = Student("小明", 18, "男", "计算机学院", "软件工程1班")
s2 = Student("小红", 19, "女", "计算机学院", "软件工程2班")
t1 = Teacher("张老师", 30, "女", "计算机学院", "软件工程")
```
5. 调用study方法:
```python
s1.study(t1)
s2.study(t1)
```
6. 将三个对象添加至列表中,通过循环将列表中的对象的个人信息打印出来:
```python
person_list = [s1, s2, t1]
for person in person_list:
person.personInfo()
```
阅读全文