私はクラスとextentionsのシリーズを持っている拡張今Javaは質問
Class Base2 {
Base1 base1;
}
Class Base2Extend1{
base1 = new Base1Extend1();}
Class Base2Extend1{
base1 = new Base1Extend2();}
を、BASE2はBASE1のインスタンス化にいくつかの作業を実行します。
また、Base2Extend1とBase2Extend2は、それぞれの拡張クラスで作業を行う必要があります。たとえば、サブクラスにのみ存在する特定のメソッドを呼び出します。 Base2の拡張クラスで毎回キャストを使わなくてもこれを行う方法はありますか?
正確な場合には、このようなものです:ユーザーと「コンピュータ」:
それは選手の2種類があるカードゲームです。 これらの両方に適用される基本メソッドはたくさんあります(pickupCards()、discardCards()など)。 次に、ユーザ専用のメソッド(checkMove()など)と、「コンピュータ」(doTurn()など)固有のメソッドがあります。
次に、ユーザーのカードを保持するオブジェクトplayerHandがあります。 もう一度手を扱う基本メソッド(addCards()、removeCards()など)があります。 次に、ユーザーの手のみのための特定のメソッド(checkCards()など)と、「コンピュータ」(decideWhatToDo()など)に固有のメソッドがあります。
今、私はクラスを単にマージする方が正しいかもしれないと考えています。 Base1とBase2を1つのクラスにしてから、サブクラスに対して同等のマージを行います。
'class Java extends Question'?うーん... – mre
'Base2Extend2 extends Base1'という名前は正しいですか? – oliholz
C++のように、クラスが他のクラスの「友人」になれるかどうか確認しようとしていますか? –