非常混乱的抽象类,需要指导

问题描述 投票:-2回答:2

我错过了一些CS类,即涉及多态,继承和抽象类等主题的类。我不是要求你做我的作业,但我不知道从哪里开始获得进一步的指导,所以给我一个骨架或什么东西会对我有很大帮助,我很困惑。

所以问题是创建一个带有两个子类的员工抽象类,permanentEmployee和TempEmployee。我必须在这些子类中存储名称,部门和工资等信息,然后根据用户想要的顺序对它们进行排序。我知道我是这样开始的

 public abstract class Employee
  {
  }
  public class TempEmployee extends Employee
  {
\\variables such as name, salary, etc, here?
  }
  public class PermEmployee extends Employee
  {
\\here too?
  }

但我不知道如何在那里存储变量,以后更少访问它们进行排序和显示。请指导。

class inheritance abstract
2个回答
0
投票

如果您正在寻找的只是Java中类级数据成员的示例,这应该有所帮助:

public class SomeClass {
    private int someInt;

    public int getSomeInt() {
        return this.someInt;
    }

    public void setSomeInt(int someInt) {
        this.someInt = someInt;
    }
}

关于多态,请注意方法是多态的,但值不是。当您在基类和派生类中放置值和方法(getter和setter)时,我鼓励您彻底地尝试这些概念。尝试将整个值/ getter / setter移动到基类,尝试仅移动值而不移动getter / setter,尝试将值放在两者中,将getter / setter放在两者中,等等。看看它的行为方式。

确保任何值/方法/等。放在基类中的内容适用于所有派生类。如果该规则存在异常,那么您需要将该成员移出基类,并仅移动到适用的派生类中。请注意,如果需要,您可以使用复杂的基类层次结构来满足此要求。


当需要访问这些成员进行排序/显示/等时,使用代码将使用getter / setter。例如:

SomeClass myInstance = new SomeClass();
myInstance.setSomeInt(2);
System.out.println(myInstance.getSomeInt());

0
投票

我不确定你使用哪种语言,但因为它“扩展”我确信你不使用c#或CSharp,它可以是Java。所以我建议你去TutorialsPoint。这篇特别的文章有这里描述的抽象。

为了方便您,在接口和抽象中我们总是创建一个结构或基础,它具有定义或声明的所有常见事物(显然,接口只有方法,并且不能在其中声明变量)。

如上所述,在上面的例子中,EmployeeId,EmployeeName,EmployeeAddress ...等应该在Abstract Base类Employee的基类中定义,但是在TempEmployee中你可以有一个标准,如EmpTermPeriod,EmpContractRenewalDate,EmpExternalPayrollCompanyName(已经取名)长期和自我描述)和PermEmployee有像EmpJoiningDate,EmpConfirmationDate,EmpGraduityDate等字段。我希望它有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.