3、 定义一个Person类,它包含数据成员age, name和gender。 # a.从Person中派生一个类Employee,在新类中添加一个数据成员,存储个人的number., # b、再从Employee中派生一个类Executive,每个派生类都应该定义一个方法,来显示相关的信息(名称和类型,如”Fred Smith is an Employee”)。 # c.编写一个列表,包含3个Executive对象,2个一般的Employee对象,然后显示它们的信息。
时间: 2024-02-20 19:58:08 浏览: 20
好的,我来解答这个问题。
首先,我们需要定义Person类,如下所示:
```python
class Person:
def __init__(self, age, name, gender):
self.age = age
self.name = name
self.gender = gender
```
然后,我们需要从Person中派生一个类Employee,如下所示:
```python
class Employee(Person):
def __init__(self, age, name, gender, number):
super().__init__(age, name, gender)
self.number = number
def display_info(self):
print(f"{self.name} is an Employee")
```
在新类Employee中,我们添加了一个数据成员number,并且定义了一个方法display_info来显示员工的信息。
接下来,我们再从Employee中派生一个类Executive,如下所示:
```python
class Executive(Employee):
def __init__(self, age, name, gender, number, title):
super().__init__(age, name, gender, number)
self.title = title
def display_info(self):
print(f"{self.name} is an Executive")
```
在新类Executive中,我们添加了一个数据成员title,并且重载了方法display_info来显示高管的信息。
最后,我们可以创建一个包含3个Executive对象和2个Employee对象的列表,如下所示:
```python
employee_list = [
Executive(45, "John Smith", "Male", 1001, "CEO"),
Executive(38, "Jane Doe", "Female", 1002, "CFO"),
Executive(50, "Tom Brown", "Male", 1003, "CTO"),
Employee(28, "Mary Johnson", "Female", 1004),
Employee(35, "Bob Davis", "Male", 1005)
]
```
最后,我们可以遍历列表并显示每个对象的信息,如下所示:
```python
for employee in employee_list:
employee.display_info()
```
输出结果如下:
```
John Smith is an Executive
Jane Doe is an Executive
Tom Brown is an Executive
Mary Johnson is an Employee
Bob Davis is an Employee
```
以上就是完整的代码实现。