java中类图中的继承关系?

时间:2015-11-03 15:18:09

标签: java oop inheritance

在java中绘制类图时,我有一个关于继承关系的简单问题。

我创建了一个具有多个属性和方法的类,称之为用户。

然后我创建了3个与父类具有继承关系的类。 打电话给他们(客户,供应商,管理员)。

我们知道继承关系,它继承了父类的所有属性和方法

我使用了类customer中的所有属性和方法,使用了类admin中的所有属性和方法,但我只在类供应商中使用了这些属性,并且在编写代码时不需要使用方法。

在面向对象编程的世界中这在逻辑上是正确的吗?

1 个答案:

答案 0 :(得分:1)

如果您的供应商不应该使用这些方法,那么您需要创建另一个抽象类。下面是层次结构(*表示摘要)。

Person* -> SpecialPerson* -> Customer
Person* -> SpecialPerson* -> Admin
Person* -> Supplier

如果您的供应商在某些时候需要使用这些方法,那么您只需要简单地使用"扩展SpecialPerson"他们会被联系起来。这实际上取决于没有使用这些方法的原因。