2013-03-11 39 views
1

我接受了一家公司的採訪,他們問我這個問題?協議設計小類

您在設計子類時遵循的協議是什麼?我的答案是,如果子類共享父類的所有屬性和方法,並且它要實現自己的方法和屬性而不是實現子類。

有人可以讓我知道需要查看的項目列表嗎?

回答

0

你的答案是一個良好的開端,但他們可能正在尋找更多:

例如:

  • 是子類在這種情況下,合適的解決方案?

    父類的多少功能將適用於 的子類?

    你在正確的粒度級別繼承:是你的 子「最終」 - 一個將代表 繼承鏈的末端,或中間類將是父 類的其他子類端點跟隨?

    您是否只需要一個子類,或者可能有幾個子類反映父類功能的不同方面,並添加其自己的 。

    新功能的哪些方面將在 子類本身中實現,以及可以將多少委託給其他類或 子系統。

    聽起來簡單,但以下適當命名原則您 類和子類也很重要:請確保您的 子類的名稱正確地描述了它的功能和 關係,父類。

有些事情要研究 - GOF的書是一個艱難的讀操作,但「Head First設計模式」是更方便,但有時它會變成非常初級的細節。這裏也可能有Python特定的設計書,但是我不熟悉它們。

相關主題可能是:

*)繼承

*)對象組合/代表團VS繼承

*)抽象類/接口

+0

感謝much..Even雖然我的工作但不能像你寫的那樣理解 – user1050619 2013-03-11 18:40:03

+0

這不是一個容易回答的問題 - 範圍非常廣泛,繼承有很多缺點 - 需要謹慎。 – Vector 2013-03-11 19:21:52

0

SOLIDDRY原則是一個很好的起點。