首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有两个子类的java中的继承概念

带有两个子类的java中的继承概念
EN

Stack Overflow用户
提问于 2014-12-14 08:14:23
回答 1查看 704关注 0票数 0

我很想知道以下实际场景在JAVA中的实现。让我们说,

  1. 有员工班、工程师班和经理班。
  2. 员工班是工程师和经理班的上级或上级班。

在一个晴朗的日子里,工程师得到了晋升,成为了经理。那么,我们应该删除ENGINEER对象并为这个提升的工程师创建新的MANAGER对象吗?或者在java中实现它的最佳方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2015-01-30 00:36:58

我想你回答了你自己的问题。由于没有两个类是相同的,所以如果要将实体从一种形式更改为另一种形式(Engineer改为Manager),则必须删除一个对象,然后再创建另一个对象。考虑下面的详细信息示例--“让员工做接口”。工程师和经理类实现员工。

代码语言:javascript
运行
复制
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对象(如果他被提拔)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27467527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档