Java 多层次的继承混乱

Java 多层次的继承混乱,java,inheritance,Java,Inheritance,我正在从事这个项目,在这个项目中,我需要为层次结构系统提供多层次的继承。层次结构是这样工作的,员工(摘要)->技术员工(摘要)->软件工程师和技术负责人 我试图做的事情是在其中一个类中创建一种“管理变量”,以充分建立技术负责人和软件工程师之间的“is-a”关系。本质上,我需要创建一个新的技术顾问,即经理。技术人员的基本工资应为员工的1.3倍 技术工人。TechnicalLeads的默认员工人数应为4人 我无法理解这个想法,有人能给我解释一下是怎么做到的吗?我知道继承是如何工作的,但当涉及到仔细跟

我正在从事这个项目,在这个项目中,我需要为层次结构系统提供多层次的继承。层次结构是这样工作的,员工(摘要)->技术员工(摘要)->软件工程师和技术负责人

我试图做的事情是在其中一个类中创建一种“管理变量”,以充分建立技术负责人和软件工程师之间的“is-a”关系。本质上,我需要创建一个新的技术顾问,即经理。技术人员的基本工资应为员工的1.3倍 技术工人。TechnicalLeads的默认员工人数应为4人

我无法理解这个想法,有人能给我解释一下是怎么做到的吗?我知道继承是如何工作的,但当涉及到仔细跟踪这些时,我真的觉得自己在这方面相当糟糕。从技术上讲,我不知道在哪里写什么

雇员

技术人员

技术负责人


另一个简短的问题,在代码的这一部分
baseSalary=getBaseSalary()*1.3我是否需要将基本工资定义为受保护?为了访问私有字段。

好吧,有时我会想出来。这是问题的解决办法

我在Employee类中添加了一个manager变量及其相应的setter和getter,以供以后使用

abstract class Employee {

private String name;
protected double baseSalary;
protected Employee manager; // This is what I've added.

Employee(String name, int baseSalary){
    this.name = name;
    this.baseSalary = baseSalary;
}

public String getName() {
    return name;
}

public double getBaseSalary() {
    return baseSalary;
}

public String getManager() {
    return manager.getName();
}

public void setManager(Employee manager) {
    this.manager = manager;
   }
} 
然后,我向Technical Employee添加了一个Technical Lead对象,以便我们可以在非抽象类(如软件工程师)中设置经理

abstract class TechnicalEmployee extends Employee{

private int checkIns;
private TechnicalLead technicalLead; // This is the manager of the technical employee..

TechnicalEmployee(String name){
    super(name, 75000);
    this.manager = technicalLead;
    }
}
出于演示目的,我创建了一个main,并用以下方式对其进行了测试:

public class CompanyManagement {
public static void main(String[] args) {

    SoftwareEngineer s1 = new SoftwareEngineer("Patates");
    TechnicalLead t1 = new TechnicalLead("Patlıcan");
    s1.setManager(t1);
    System.out.println(s1.getManager());

    }
}

结果是,;帕蒂尔肯。看来它在起作用。谢谢大家。

Java和多重继承标签不在一起。请先阅读标签说明/描述,然后再将其打上,新手错误。@Mad physicast要求您的是请删除多重继承标签。Java只使用单继承。确实如此。我现在再次修复了标记,希望有人能向我解释实际情况。Java继承不是为一般用途的问题而设计的,它以一种可以用Java机制表达某些情况的方式简化了世界。在大多数情况下,在没有真实用例的情况下谈论一个完全假设的情况是很好的,但是没有什么是有用的。
abstract class Employee {

private String name;
protected double baseSalary;
protected Employee manager; // This is what I've added.

Employee(String name, int baseSalary){
    this.name = name;
    this.baseSalary = baseSalary;
}

public String getName() {
    return name;
}

public double getBaseSalary() {
    return baseSalary;
}

public String getManager() {
    return manager.getName();
}

public void setManager(Employee manager) {
    this.manager = manager;
   }
} 
abstract class TechnicalEmployee extends Employee{

private int checkIns;
private TechnicalLead technicalLead; // This is the manager of the technical employee..

TechnicalEmployee(String name){
    super(name, 75000);
    this.manager = technicalLead;
    }
}
public class CompanyManagement {
public static void main(String[] args) {

    SoftwareEngineer s1 = new SoftwareEngineer("Patates");
    TechnicalLead t1 = new TechnicalLead("Patlıcan");
    s1.setManager(t1);
    System.out.println(s1.getManager());

    }
}