【发布时间】:2018-04-14 12:35:15
【问题描述】:
我们使用extends 关键字在Java 中使用OOP 来使用is-a relationship。但另一方面,我们也有has-a relationship,我们使用第二类中第一类的引用作为has-a relationship。我的问题是,如果我们有一个 has-a 关系,我们可以在实现中使用extends keyword 吗?
假设我们这里有例子:
一所“大学”有多个“系”。在不存在的情况下 “大学”,没有“系”存在的机会。
我们可以写成(只是一个粗略的例子,便于理解)
class University extends Department
{
Department d = new Department();
University(String name, Department d)
{
this.Name=name;
this.Department = d;
}
}
或者当我们在另一个类中创建一个实体时,我们不能使用单词extends?
【问题讨论】:
-
我想你可以,但这就是工具的用途。
-
你的设计可以编译,所以它是可能的。但是为什么需要从
Department扩展。没有它,该类也可以工作。 -
我只是在想,Java 中的这个“扩展”关键字仅适用于“是关系”或任何类型的继承,包括有关系