定义项目经理类:属性——姓名,工号,工资;行为——work()方法。要求:向上抽取一个父类,让这两个类都继承这个父类,共有的属性写在父类中,子类重复父类中的方法。并编写测试类,完成对两个子类的测试。
时间: 2024-11-20 15:40:07 浏览: 29
在面向对象编程中,你可以创建一个名为"ProjectManager"的父类,然后为两个具体的项目管理者类(例如"DeveloperProjectManager"和"ExecutiveProjectManager")提供继承。下面是基础的类结构:
```java
// 父类 ProjectManager,包含通用属性和行为
public class ProjectManager {
private String name;
private int id;
private double salary;
public ProjectManager(String name, int id, double salary) {
this.name = name;
this.id = id;
this.salary = salary;
}
// 共享的行为 - 工作方法
public void work() {
System.out.println(name + " is working with ID: " + id);
System.out.println("Salary: " + salary);
}
}
// 子类 DeveloperProjectManager
public class DeveloperProjectManager extends ProjectManager {
// 可能添加特定于开发者的属性或行为
public DeveloperProjectManager(String name, int id, double salary, String programmingLanguage) {
super(name, id, salary); // 调用父类构造函数
// ...
}
// 如果需要,可以重写或扩展父类的工作方法
@Override
public void work() {
super.work();
System.out.println("Specializing in: " + programmingLanguage);
}
}
// 子类 ExecutiveProjectManager
public class ExecutiveProjectManager extends ProjectManager {
// 可能添加特定于执行者的属性或行为
public ExecutiveProjectManager(String name, int id, double salary, String managementRole) {
super(name, id, salary); // 调用父类构造函数
// ...
}
// 同样,如果需要,可以重写工作方法
@Override
public void work() {
super.work();
System.out.println("Manages projects as: " + managementRole);
}
}
// 测试类 TestProjectManagers
public class TestProjectManagers {
public static void main(String[] args) {
// 创建实例并测试
DeveloperProjectManager developer = new DeveloperProjectManager("John Doe", 1001, 50000, "Java");
developer.work();
ExecutiveProjectManager executive = new ExecutiveProjectManager("Jane Smith", 1002, 70000, "IT Director");
executive.work();
阅读全文