關於繼承的一點思考
在 java 中, 繼承是實現復用的一種方法,雖然很多時候不建議使用繼承, 但不可否認,有時候使繼承,更容易理解某個設計
我碰到過這樣一種情況,一般的操作對象 類 A 實例,但是會間或操作一些類 B 的實例,B 大部的屬性 A 都包括,這個時候使用繼承,應該沒什麼問題的(至少我現在的理解是沒什麼問題,各位多指教),現在把A 和 B的一些實例放到 一個數組中 A[] as 中 ,現在要輪循 as ,並對 B進行一些操作,這個時候,可以用 instanceof 判斷是不是 B , 然後轉化成 B 操作, 不知道為什麼, 腦子裡總是有點抵觸 instanceof 所以又想了一個方法, 在 A 和 B 中加入一個函數 isB() , 這樣就可以避免使用 instanceof 了。
其實還有一些辦法 ,就是將那些對B的操作做為 B的成員函數, 同時在A中加個同名的成員函數,這樣就可以避免使用 instanceof 了,但是我覺得這個成員函數是B的獨特函數 m1, A.m1則一點意義都沒有,覺得還是加個 isB()更合適點