2013-04-15 61 views

回答

1

想想更多或谷歌更多。

  1. 如果你的孩子班有共同的功能,那麼爲什麼你會覆蓋每個班的方法?你可以使用基類(在這種情況下是抽象的)方法。需要非抽象(主要稱爲具體)方法。
  2. 雖然有抽象的方法(正如你所知我已經認爲),我們可以根據我們的要求重寫。
  3. 如果你需要所有的方法都應該按照他們的要求在每個子類中重寫,那麼你可以去接口。
0

具體子類可以使用抽象超類中的方法。因此,子類之間的所有共享功能可以進入基本抽象類。

0

代碼複用。如果您不覆蓋繼承類中的非抽象方法,您可以從抽象類繼承它們。

0

要讓它們在子類中違反DRY原則(不要重複自己):如果所有的子類具有相同的功能,爲什麼要在每個類中重複地寫它?

1

簡單的答案:重用和可維護性。

假設有4個擴展你的抽象類的具體類,它們將共享一些行爲。

在這種情況下,最好在抽象類中實現該方法,而不是在所有具體類中分別定義它。

+1

您還可以爲方法提供合理的默認實現。 – 0xCAFEBABE