3 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
抽象和封裝是互補(bǔ)的概念:抽象集中于對(duì)象的可觀察行為。封裝集中于導(dǎo)致此行為的實(shí)現(xiàn).。封裝通常是通過(guò)信息隱藏來(lái)實(shí)現(xiàn)的,而信息隱藏是隱藏對(duì)象的所有秘密的過(guò)程,而這些秘密與對(duì)象的本質(zhì)特性無(wú)關(guān)。
System.Text.StringBuilder
StringBuilder

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
抽象:
“關(guān)于抽象的一個(gè)困惑之處在于它既作為一個(gè)過(guò)程又作為一個(gè)實(shí)體使用。抽象作為一個(gè)過(guò)程,表示對(duì)一個(gè)項(xiàng)目或一組項(xiàng)目的基本細(xì)節(jié)的提取,而忽略了不必要的細(xì)節(jié)。抽象作為一個(gè)實(shí)體,表示一個(gè)實(shí)際項(xiàng)目的模型、視圖或其他集中的表示形式。”
信息隱藏:
“它的界面或定義是為了盡可能少地揭示其內(nèi)部運(yùn)作情況?!?/em>
-[Parnas,1972 b] “抽象可以[…]作為一種識(shí)別哪些信息應(yīng)該隱藏的技術(shù)?!?/em>
當(dāng)人們不能區(qū)分信息的隱藏和用來(lái)幫助識(shí)別要隱藏的信息的技術(shù)(例如抽象)時(shí),就會(huì)產(chǎn)生混淆。
封裝:
“它[…]是指圍繞一些事物集合建造一個(gè)膠囊,在這種情況下是一個(gè)概念上的障礙?!?/em>
-[Wirfs-BRock等人,1990年] 作為一個(gè)過(guò)程,封裝是指將一個(gè)或多個(gè)項(xiàng)目封裝在[…]容器中的行為。封裝作為一個(gè)實(shí)體,是指包含(包含、封裝)一個(gè)或多個(gè)項(xiàng)目的包或外殼。
“如果封裝是‘與信息隱藏相同的事情’,那么人們可能會(huì)提出這樣的論點(diǎn):‘所有封裝的東西都是隱藏的。’這顯然是不正確的?!?/em>
結(jié)論:
“抽象、信息隱藏和封裝是非常不同但關(guān)系密切的概念。人們可以說(shuō),抽象是一種技術(shù),可以幫助我們識(shí)別哪些特定的信息應(yīng)該可見(jiàn),哪些信息應(yīng)該隱藏。然后,封裝是一種將信息包裝起來(lái)的技術(shù),以隱藏應(yīng)該隱藏的信息,并使意圖可見(jiàn)的信息可見(jiàn)。”

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
Abstraction
Information Hiding
private
public
Encapsulation
Class
Packet
Abstraction
, Information Hiding
Encapsulation
添加回答
舉報(bào)