-3

JAVA中可以使用接口进行多重继承。那么我们可以在JAVA中表示LIGER对象吗?让我提个醒:狮虎是雄狮和母老虎的杂交品种。继承自 TIGER 的属性 1. Tiger-like stripes pattern (attribute-stripes)

继承自 LION 的属性 1. 类似狮子的茶色背景(属性 - 背景颜色) 2. 尾巴更像狮子(属性 - 尾巴)

继承自 TIGER 的行为 1. 游泳 (method-swim())

行为继承自 LION 2。非常善于交际,类似于狮子。(方法-socialize())

这如何在 Java 中表示?

4

1 回答 1

2

我会使用聚合,而不是继承。狮虎结合了老虎和狮子的行为,但既不是一种也不是另一种。所以,这里的聚合似乎更好。

class Liger {

private Tiger tiger = new Tiger();
private Lion lion = new Lion();

void swim() { tiger.swim(); }

void socialize() { lion.socialize() ; }

Tail getTail() { return lion.getTail(); }

Skin getSkin() { return tiger.getSkin(); }

}
于 2013-05-20T07:02:30.967 回答