Java組合與繼承之間的選擇
組合和繼承都允許在新的類(lèi)中放置子對(duì)象,組合是顯示的這樣做,而繼承則是隱式的做。
組合技術(shù)通常用于想在新類(lèi)中使用現(xiàn)有類(lèi)的功能而非他的接口。在新類(lèi)中嵌入某個(gè)對(duì)象,讓其實(shí)現(xiàn)所需要的功能,但新類(lèi)的用戶看到的只是新類(lèi)所定義的接口,而非所嵌入對(duì)象的接口。為了取得這樣效果,需要在新類(lèi)中嵌入一個(gè)現(xiàn)有類(lèi)的parivate對(duì)象。
有時(shí),允許類(lèi)的用戶直接訪問(wèn)新類(lèi)中的組合成分是極具意義的;也就是說(shuō),將成員對(duì)象聲明為public。如果成員對(duì)象自身都隱藏了具體實(shí)現(xiàn),那么這種做法是安全的。當(dāng)用戶能夠了解到你正在組裝一組部件,會(huì)使得端口更加易于理解。Car對(duì)象就是一個(gè)很好的例子:
posted on 2014-06-05 13:36 順其自然EVO 閱讀(272) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): 測(cè)試學(xué)習(xí)專(zhuān)欄