-3

JAVAではインタフェースを使って多重継承が可能ですが、JAVAでLIGERオブジェクトを表現できるのでしょうか? ちょっと頭を上げさせてください:ライガーは、オスのライオンとあばずれ女のハイブリッドクロスです。TIGERから継承されたプロパティ 1.トラのような縞模様(属性ストライプ)

LION から継承されたプロパティ 1. ライオンのような黄褐色の背景 (attribute - backgroundColour) 2. 尻尾はライオンに似ています (attribute- tail)

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 に答える