我错过了一些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?
}
但我不知道如何在那里存储变量,以后更少访问它们进行排序和显示。请指导。
答案 0 :(得分: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());
答案 1 :(得分:0)
我不确定您使用的是哪种语言,但由于它已“扩展”,我确信您不使用c#或CSharp,它可以是Java。所以我建议你去TutorialsPoint。这篇特别的文章有这里描述的抽象。
为了让您轻松,在接口和抽象中我们总是创建一个结构或基础,它具有定义或声明的所有常见事物(显然,接口只有方法,并且不能在其中声明变量)。
如上所述,在上面的例子中,EmployeeId,EmployeeName,EmployeeAddress ...等应该在Abstract Base类Employee的基类中定义,但是在TempEmployee中你可以有一个标准,如EmpTermPeriod,EmpContractRenewalDate,EmpExternalPayrollCompanyName(已经使名称变长并且自我描述)和PermEmployee有像EmpJoiningDate,EmpConfirmationDate,EmpGraduityDate等字段。 我希望它有所帮助。