我有一系列的類和一些推廣:Java的擴展問題
Class Base1{ .... }
Class Base1Extend1 extends Base1 {.....}
Class Base1Extend2 extends Base1 {......}
我現在有另一套使用這些:
Class Base2 {
Base1 base1;
}
Class Base2Extend1{
base1 = new Base1Extend1();}
Class Base2Extend1{
base1 = new Base1Extend2();}
現在,和Base2執行對基礎1的實例化一些工作。
此外,Base2Extend1和Base2Extend2需要在其特定擴展類上執行工作。例如,它們調用僅存在於子類中的特定方法。有沒有辦法做到這一點,而不必每次都在Base2的擴展類中使用cast?
確切的情況是這樣的:
這是一種紙牌遊戲,其中有2種類型的球員:用戶和「計算機」。 有很多適用於它們的基本方法(pickup卡(),discardCards()等)。 然後有特定於用戶的方法(checkMove()等)以及特定於「計算機」(doTurn()等)的方法。
接下來是保存用戶卡片的對象playerHand。 同樣有基本的方法來處理手(addCards(),removeCards()等)。 然後,只有用戶手中有特定的方法(checkCards()等)以及那些特定於「計算機」(判定WhatToDo()等)的方法。
現在我想,也許這會更簡單地將類合併在一起。 將Base1和Base2合併到一個類中,然後對子類進行等效合併。
'class Java extends Question'?嗯... – mre
命名爲'Base2Extend2擴展Base1'是否正確? – oliholz
你想知道是否有一個類可以像C++中的另一個類似的「朋友」? –