如下是整篇文章的結(jié)構(gòu)贮竟,所需閱讀時間大約 8min
定義
Object Oriented(面向?qū)ο螅琌O)所謂面向?qū)ο缶褪腔趯ο蟾拍罱咸辏詫ο鬄橹行墓颈穑灶惡屠^承為構(gòu)造機制,來認識写穴、理解惰拱、刻畫客觀世界和設(shè)計、構(gòu)建相應(yīng)的軟件系統(tǒng)啊送。
面向?qū)ο蟮幕靖拍?/h2>
對象:對象是要研究的任何事物偿短。從一本書到一家圖書館欣孤,單的整數(shù)到整數(shù)列龐大的數(shù)據(jù)庫、極其復(fù)雜的自動化工廠昔逗、航天飛機都可看作對象降传,它不僅能表示有形的實體,也能表示無形的(抽象的)規(guī)則勾怒、計劃或事件婆排。對象由數(shù)據(jù)(描述事物的屬性)和作用于數(shù)據(jù)的操作(體現(xiàn)事物的行為)構(gòu)成一獨立整體。從程序設(shè)計者來看笔链,對象是一個程序模塊段只,從用戶來看,對象為他們提供所希望的行為卡乾。在對內(nèi)的操作通常稱為方法翼悴。
類:類是對象的模板。即類是對一組有相同數(shù)據(jù)和相同操作的對象的定義幔妨,一個類所包含的方法和數(shù)據(jù)描述一組對象的共同屬性和行為。類是在對象之上的抽象谍椅,對象則是類的具體化误堡,是類的實例。類可有其子類雏吭,也可有其它類锁施,形成類層次結(jié)構(gòu)
消息:消息是對象之間進行通信的一種規(guī)格說明。一般它由三部分組成:接收消息的對象杖们、消息名及實際變元悉抵。
面向?qū)ο笾饕卣?/h2>
封裝:封裝是一種信息隱蔽技術(shù),它體現(xiàn)于類的說明摘完,使數(shù)據(jù)更安全.是對象的重要特性姥饰。封裝使數(shù)據(jù)和加工該數(shù)據(jù)的方法(函數(shù))封裝為一個整體,以實現(xiàn)獨立性很強的模塊孝治,使得用戶只能見到對象的外特性(對象能接受哪些消息列粪,具有那些處理能力),而對象的內(nèi)特性(保存內(nèi)部狀態(tài)的私有數(shù)據(jù)和實現(xiàn)加工能力的算法)對用戶是隱蔽的谈飒。封裝的目的在于把對象的設(shè)計者和對象者的使用分開岂座,使用者不必知曉行為實現(xiàn)的細節(jié),只須用設(shè)計者提供的消息來訪問該對象杭措。
繼承:繼承性是子類自動共享父類之間數(shù)據(jù)和方法的機制费什。它由類的派生功能體現(xiàn)。一個類直接繼承其它類的全部描述手素,同時可修改和擴充鸳址。
繼承具有傳遞性和單根性.如果B類繼承了A類,而C類又繼承了B類,則可以說,C類在繼承了B類的同時,也繼承了A類,C類中的對象,可以實現(xiàn)A類中的方法.一個類,只能夠同時繼承另外一個類,而不能同時繼承多個類,通常所說的多繼承是指一個類在繼承其父類的同時,實現(xiàn)其他接口.類的對象是各自封閉的赘那,如果沒繼承性機制,則類對象中數(shù)據(jù)氯质、方法就會出現(xiàn)大量重復(fù)募舟。繼承支持系統(tǒng)的可重用性,從而達到減少代碼量的作用,而且還促進系統(tǒng)的可擴充性闻察。
多態(tài):對象根據(jù)所接收的消息而做出動作拱礁。同一消息為不同的對象接受時可產(chǎn)生完全不同的行動,這種現(xiàn)象稱為多態(tài)性辕漂。利用多態(tài)性用戶可發(fā)送一個通用的信息呢灶,而將所有的實現(xiàn)細節(jié)都留給接受消息的對象自行決定,如是钉嘹,同一消息即可調(diào)用不同的方法鸯乃。例如:Print消息被發(fā)送給一圖或表時調(diào)用的打印方法與將同樣的Print消息發(fā)送給一正文文件而調(diào)用的打印方法會完全不同。多態(tài)性的實現(xiàn)受到繼承性的支持跋涣,利用類繼承的層次關(guān)系缨睡,把具有通用功能的協(xié)議存放在類層次中盡可能高的地方,而將實現(xiàn)這一功能的不同方法置于較低層次陈辱,這樣奖年,在這些低層次上生成的對象就能給通用消息以不同的響應(yīng)。在OOPL中可通過在派生類中重定義基類函數(shù)(定義為重載函數(shù)或虛函數(shù))來實現(xiàn)多態(tài)性沛贪。
綜上可知陋守,在OO方法中,對象和傳遞消息分別表現(xiàn)事物及事物間相互聯(lián)系的概念利赋。類和繼承是是適應(yīng)人們一般思維方式的描述范式水评。方法是允許作用于該類對象上的各種操作。這種對象媚送、類中燥、消息和方法的程序設(shè)計范式的基本點在于對象的封裝性和類的繼承性。通過封裝能將對象的定義和對象的實現(xiàn)分開季希,通過繼承能體現(xiàn)類與類之間的關(guān)系褪那,以及由此帶來的動態(tài)聯(lián)編和實體的多態(tài)性,從而構(gòu)成了面向?qū)ο蟮幕咎卣鳌?/p>
面向?qū)ο蟮囊?/h2>
抽象
抽象是指強調(diào)實體的本質(zhì)式塌、內(nèi)在的屬性博敬。在系統(tǒng)開發(fā)中,抽象指的是在決定如何實現(xiàn)對象之前的對象的意義和行為峰尝。使用抽象可以盡可能避免過早考慮一些細節(jié)偏窝。類實現(xiàn)了對象的數(shù)據(jù)(即狀態(tài))和行為的抽象。
封裝性
封裝性是保證軟件部件具有優(yōu)良的模塊性的基礎(chǔ)。面向?qū)ο蟮念愂欠庋b良好的模塊祭往,類定義將其說明(用戶可見的外部接口)與實現(xiàn)(用戶不可見的內(nèi)部實現(xiàn))顯式地分開伦意,其內(nèi)部實現(xiàn)按其具體定義的作用域提供保護。
對象是封裝的最基本單位硼补。封裝防止了程序相互依賴性而帶來的變動影響驮肉。面向?qū)ο蟮姆庋b比傳統(tǒng)語言的封裝更為清晰、更為有力已骇。
共享性
面向?qū)ο蠹夹g(shù)在不同級別上促進了共享
同一類中的共享离钝。同一類中的對象有著相同數(shù)據(jù)結(jié)構(gòu)。這些對象之間是結(jié)構(gòu)褪储、行為特征的共享關(guān)系卵渴。
在同一應(yīng)用中共享。在同一應(yīng)用的類層次結(jié)構(gòu)中鲤竹,存在繼承關(guān)系的各相似子類中浪读,存在數(shù)據(jù)結(jié)構(gòu)和行為的繼承,使各相似子類共享共同的結(jié)構(gòu)和行為辛藻。使用繼承來實現(xiàn)代碼的共享碘橘,這也是面向?qū)ο蟮闹饕獌?yōu)點之一。
在不同應(yīng)用中共享揩尸。面向?qū)ο蟛粌H允許在同一應(yīng)用中共享信息蛹屿,而且為未來目標的可重用設(shè)計準備了條件。通過類庫這種機制和結(jié)構(gòu)來實現(xiàn)不同應(yīng)用中的信息共享岩榆。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來清笨,“玉大人月杉,你說我怎么就攤上這事】侔” “怎么了苛萎?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我腌歉,道長蛙酪,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任翘盖,我火速辦了婚禮桂塞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘馍驯。我一直安慰自己阁危,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布泥彤。 她就那樣靜靜地躺著欲芹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吟吝。 梳的紋絲不亂的頭發(fā)上菱父,一...
- 文/蒼蘭香墨 我猛地睜開眼萤捆,長吁一口氣:“原來是場噩夢啊……” “哼裙品!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起俗或,我...
- 正文 年R本政府宣布臣镣,位于F島的核電站,受9級特大地震影響智亮,放射性物質(zhì)發(fā)生泄漏忆某。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一阔蛉、第九天 我趴在偏房一處隱蔽的房頂上張望弃舒。 院中可真熱鬧,春花似錦状原、人聲如沸聋呢。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽削锰。三九已至,卻和暖如春毕莱,著一層夾襖步出監(jiān)牢的瞬間器贩,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
- 從三月份找實習(xí)到現(xiàn)在国夜,面了一些公司,掛了不少短绸,但最終還是拿到小米车吹、百度、阿里醋闭、京東窄驹、新浪、CVTE证逻、樂視家的研發(fā)崗...