扩展或采用参数,哪种方法更好?为什么

时间:2018-12-01 16:51:47

标签: java

假设我有一个地址类,它具有多个参数,例如街道号码,地址行1,地址行2,国家等。现在,我有一个人类,它具有多个参数,即姓名,电子邮件,每个人都有一个地址。

现在,我应该采用扩展了Address类的Person类,或者应该采用Person类中的一个address参数。哪种方法更好?为什么?

2 个答案:

答案 0 :(得分:1)

您应该在Person类中定义一个成员变量。这称为组成继承通常应用于两个类之间存在相似性的地方。主要从普通班到专业班。例如狗类继承的动物类。 换句话说,您可以通过简单地应用HAS AIS A关系来区分在何处使用组成继承

例如

  • 狗是动物。
  • 人员有地址

答案 1 :(得分:0)

您应该具有“个人”中“地址”类型的成员(称为参数)。

仅当您说“一个人是一个拥有...的地址”时,继承才适用。这里不是这种情况。

通常,您应该更喜欢使用组合而不是继承,因为您的设计会更灵活。