如果AbstractMethodA不適用於Child-B,則Child-B不應該從Parent-A繼承。
或者,如果Child-B從Parent-A繼承,並且AbstractMethodA不適用於子級,則它不應該在父級中。
通過在Parent-A中添加一個方法,您表示該方法適用於Parent-A及其所有子項。這就是繼承意味着,如果你用它來表示不同的東西,你最終會與編譯器發生嚴重的爭執。
[編輯 - 也就是說,如果該方法確實適用,Mladen Prajdic的答案沒問題,但對於涉及的一個或多個類別應該什麼也不做。一種什麼都不做的方法是與不適用的方法不同,但也許我們並不是指「不適用」的同一個事物]
另一種技術是在Child中實現該方法-B無論如何,但要讓它像總是返回失敗一樣激烈,或者拋出異常或其他東西。它的工作原理,但應該被認爲是一個閃光點,而不是一個乾淨的設計,因爲這意味着來電者需要知道他們有什麼東西,他們對待父母A是真的一個孩子B和因此他們不應該調用AbstractMethodA。基本上你已經拋棄了多態,這是OO繼承的主要好處。就我個人而言,我更喜歡這樣做,因爲在基類中有一個拋出異常的實現,因爲這樣子類就不會「意外」地通過「遺忘」來執行該方法。它必須實現它,如果它實現它不起作用,那麼它明確地這樣做。糟糕的情況應該是嘈雜的。