我很想知道以下实际场景在JAVA中的实现。让我们说,
在一个晴朗的日子里,工程师得到了晋升,成为了经理。那么,我们应该删除ENGINEER对象并为这个提升的工程师创建新的MANAGER对象吗?或者在java中实现它的最佳方法是什么?
发布于 2015-01-30 00:36:58
我想你回答了你自己的问题。由于没有两个类是相同的,所以如果要将实体从一种形式更改为另一种形式(Engineer改为Manager),则必须删除一个对象,然后再创建另一个对象。考虑下面的详细信息示例--“让员工做接口”。工程师和经理类实现员工。
interface Employee
{
void attendsMeeting();
void reportsWorkDone();
void inputsHoursWorked();
}
class Manager implements Employee
{
String name;
int emp_id; //and more fields related to Manager
public void attendsMeeting()
{
//Implements the method
}
public void reportsWorkDone()
{
//Implements the method
}
public void inputsHoursWorked()
{
//Implements the method
}
public void managesThings()
{
//Method specific to Manager class
}
}
class Engineer implements Employee
{
String name;
int emp_id; //and more fields related to Engineer
public void attendsMeeting()
{
//Implements the method
}
public void reportsWorkDone()
{
//Implements the method
}
public void inputsHoursWorked()
{
//Implements the method
}
public void developsApplication()
{
//Method specific to Engineer class
}
}
从上面的代码中可以看出,Engineer和Manager是两个不同的对象。他们实现了Employee,因此他们得到了一些从Employee继承的通用方法。此外,它们还获得了两个子类特有的方法。即使是这两个类中继承的方法也不会有相同的实现。因此,由于这两个对象是不同的,您必须删除Engineer对象,并为特定员工(人员)创建一个Manager对象(如果他被提拔)。
https://stackoverflow.com/questions/27467527
复制相似问题