python 编写程序,创建基类Person,其成员包括私有实例属性name、age和sex,实例方法setName()、setAge()和setSex()分别用来给实例属性赋值,实例方法show()用来输出3个实例属性的值;创建派生类Enployee,继承Person类,新增实例属性salary(工资),新增实例方法setSalary (),用来设置实例属性salary的值,重写基类的实例方法show(),输出所有实例属性的值。使用_init_()构造方法完成Person类和Employee类的对象初始化工作,并编写测试代码。
时间: 2024-03-08 20:47:26 浏览: 16
下面是完整的Python代码:
```python
class Person:
def __init__(self, name, age, sex):
self.__name = name
self.__age = age
self.__sex = sex
def setName(self, name):
self.__name = name
def setAge(self, age):
self.__age = age
def setSex(self, sex):
self.__sex = sex
def show(self):
print("Name:", self.__name)
print("Age:", self.__age)
print("Sex:", self.__sex)
class Employee(Person):
def __init__(self, name, age, sex, salary):
super().__init__(name, age, sex)
self.salary = salary
def setSalary(self, salary):
self.salary = salary
def show(self):
super().show()
print("Salary:", self.salary)
# 测试代码
employee = Employee('Tom', 30, 'Male', 5000)
employee.show()
```
在上面的代码中,我们首先定义了一个基类 `Person`,它包含了三个私有实例属性 `__name`、`__age` 和 `__sex`,以及四个实例方法 `setName()`、`setAge()`、`setSex()` 和 `show()`,用于设置和输出实例属性的值。然后,我们定义了一个派生类 `Employee`,它继承了 `Person` 类,并新增了一个实例属性 `salary` 和一个实例方法 `setSalary()`,用于设置实例属性的值。重写了基类的实例方法 `show()`,用于输出所有实例属性的值。在 `Employee` 类的 `__init__()` 构造方法中,我们通过调用父类的构造方法 `super().__init__(name, age, sex)` 来初始化基类的属性 `name`、`age` 和 `sex`,然后再初始化派生类的属性 `salary`。最后,我们编写了一些测试代码,用于测试 `Employee` 类的各种方法是否能正常运行。