定义一个职员类Employee,有实例属性name(姓名, age(年龄),days(出勤天数),salary(标准工资)。定义计算实际工资的实例方法getsalary(),实际工资计算公式为:实际工资=标准工资 / 22.5 * 出勤天数, #并且四舍五入保2位小数。实例化一 个对象emp1, 姓名: lucy, 年龄: 26, 标准工资: 13000, 当月出勤天数: 24天, 计算并输出lucy的当月实际工资
时间: 2023-02-13 19:34:55 浏览: 192
class Employee:
def __init__(self, name, age, days, salary):
self.name = name
self.age = age
self.days = days
self.salary = salary
def getsalary(self):
return self.salary / 22.5 * self.days
员工 = Employee('张三', 25, 22, 10000)
print(员工.getsalary())
相关问题
定义一个员工类Employee,该类中有属性姓 名name、年龄age、工资salary。其方法包 括:一个能初始化每个成员变量的构造方法、 所有属性的读写访问器方法和能把员工的完整 信息打印出来的display方法。
好的,我们可以创建一个名为`Employee`的基本类来满足这个需求,以下是Java语言的一个示例:
```java
public class Employee {
// 属性
private String name;
private int age;
private double salary;
// 构造方法(初始化所有成员变量)
public Employee(String name, int age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
// 属性的getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
// 打印员工完整信息的方法
public void display() {
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
System.out.println("工资:" + salary);
}
}
```
在这个类中,我们定义了私有变量来存储员工的信息,并提供相应的公有方法来获取和设置这些信息。`display`方法用于显示员工的详细信息。
python 编写程序,创建基类Person,其成员包括私有实例属性name、age和sex,实例方法setName()、setAge()和setSex()分别用来给实例属性赋值,实例方法show()用来输出3个实例属性的值;创建派生类Enployee,继承Person类,新增实例属性salary(工资),新增实例方法setSalary (),用来设置实例属性salary的值,重写基类的实例方法show(),输出所有实例属性的值。使用_init_()构造方法完成Person类和Employee类的对象初始化工作,并编写测试代码。
下面是完整的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` 类的各种方法是否能正常运行。
阅读全文