類族模式可以隱藏抽象基類背后的實現(xiàn)細節(jié)鹿霸。Objective-C的系統(tǒng)框架中普遍使用此模式欺缘。
比如界面框架UIKit中就有一個名為UIButton的類棚瘟。想創(chuàng)建按鈕留荔,需要調(diào)用下面這個類方法
-UIButton buttonWithType:(UIButtonType)type;
該方法返回的對象蝇棉,其類型取決于傳入的按鈕類型讨阻。然而,不管返回什么類型的對象篡殷,它們都繼承自同一個基類:UIButton钝吮。 這么做的意義在于:UIButton類的使用者無須關(guān)心創(chuàng)建出來的按鈕具體屬于哪個子類,也不用考慮按鈕的繪制方式等細節(jié)板辽。使用者只需明白如何創(chuàng)建按鈕奇瘦,如何設(shè)置像標(biāo)題這樣的屬性,如何增加觸摸動作的目標(biāo)對象等問題就好劲弦。
1耳标,類族模式可以把實現(xiàn)細節(jié)隱藏在一套簡單的公共接口后面。
2邑跪,系統(tǒng)框架中經(jīng)常使用類族次坡。
3,從類族的公共抽象基類中繼承子類時要當(dāng)心画畅,若有開發(fā)文檔砸琅,則應(yīng)首先閱讀。