1.定义一个名为employee的类,它继承person类,其中定义salary(表示工资)和department(表示部门)两个成员变量和封装这两个变量的方法。编写主程序检查新建类中的所有方法。
时间: 2023-05-31 16:17:55 浏览: 387
### 回答1:
定义一个名为employee的类,它继承person类,其中定义salary(表示工资)和department(表示部门)两个成员变量和封装这两个变量的方法。编写主程序检查新建类中的所有方法。
class Employee(Person):
def __init__(self, name, age, gender, salary, department):
super().__init__(name, age, gender)
self.__salary = salary
self.__department = department
def get_salary(self):
return self.__salary
def set_salary(self, salary):
self.__salary = salary
def get_department(self):
return self.__department
def set_department(self, department):
self.__department = department
if __name__ == '__main__':
employee = Employee('张三', 25, '男', 500, '技术部')
print(employee.get_name())
print(employee.get_age())
print(employee.get_gender())
print(employee.get_salary())
print(employee.get_department())
employee.set_salary(600)
employee.set_department('市场部')
print(employee.get_salary())
print(employee.get_department())
### 回答2:
将员工类定义为employee,它继承自person类,具有salary和department这两个变量。salary表示员工的工资,而department表示该员工所在的部门。在类的实现中,需要定义相应的get和set方法,以便访问或修改这些成员变量。
以下是员工类的代码示例:
class employee extends person{
private double salary;
private String department;
public employee(String name, int age, char gender){
super(name, age, gender);
}
//getter and setter methods
public double getSalary(){
return salary;
}
public void setSalary(double s){
salary = s;
}
public String getDepartment(){
return department;
}
public void setDepartment(String d){
department = d;
}
}
主程序中,可以创建一个新的员工对象,并使用setter方法来设置该员工的工资和部门。还可以使用getter方法获取这些成员变量的值,以验证是否正确设置。
以下是主程序的代码示例:
public static void main(String[] args){
employee e = new employee("Tom", 25, 'M');
e.setSalary(5000);
e.setDepartment("Sales");
System.out.println(e.getName() + " works in " + e.getDepartment() + " and earns " + e.getSalary() + " per month.");
}
最终输出结果将是:
Tom works in Sales and earns 5000.0 per month.
这表明员工类的所有方法均可正常使用。
### 回答3:
Employee类继承自Person类,因此Employee类会自动继承Person类中的所有成员变量和方法。在Employee类中,我们还需要定义salary和department两个成员变量,并且封装这两个变量的方法,以保证数据安全和代码的可维护性。
下面是Employee类的定义和封装方法的实现:
class Employee extends Person {
private double salary;
private String department;
public void setSalary(double s) {
this.salary = s;
}
public double getSalary() {
return this.salary;
}
public void setDepartment(String d) {
this.department = d;
}
public String getDepartment() {
return this.department;
}
}
在上面的代码中,我们使用了private关键字将salary和department成员变量私有化,避免外部访问和修改。通过setSalary、getSalary、setDepartment和getDepartment等封装方法,我们可以对salary和department进行读写操作。这些方法的命名符合规范,便于代码的阅读和维护。
下面编写一个主程序来检查Employee类中所有的方法:
public class Main {
public static void main(String[] args) {
Employee emp = new Employee();
emp.setName("张三");
emp.setAge(30);
emp.setGender("男");
emp.setSalary(10000);
emp.setDepartment("技术部");
System.out.println(emp.getName());
System.out.println(emp.getAge());
System.out.println(emp.getGender());
System.out.println(emp.getSalary());
System.out.println(emp.getDepartment());
}
}
在上面的主程序中,我们创建了一个Employee对象emp,并使用set方法设置各个成员变量的值。然后使用get方法获取各个成员变量的值,输出到控制台。
运行代码,结果如下:
张三
30
男
10000.0
技术部
说明Employee类中的方法都实现正确,可以安心地在项目中使用。
阅读全文