日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

面向?qū)ο蟮奶攸c(diǎn)( 四 )


采用由上至下的程序設(shè)計(jì)方法 。
動(dòng)態(tài)綁定
綁定指的是將一個(gè)過(guò)程調(diào)用與相應(yīng)代碼鏈接起來(lái)的行為 。 動(dòng)態(tài)綁定的意思是 , 與給定的過(guò)程調(diào)用相關(guān)聯(lián)的代碼只有在運(yùn)行期才可知 。 它與多態(tài)和繼承的聯(lián)系極為緊密 。 一個(gè)多態(tài)引用的函數(shù)調(diào)用決定于這個(gè)引用的動(dòng)態(tài)類型 。
考慮圖6中的“draw”方法 。 通過(guò)繼承 , 每個(gè)對(duì)象都具備了這個(gè)過(guò)程 。 但是 , 對(duì)于不同的對(duì)象它的算法是不同的 , 因此 , draw過(guò)程必須在每一個(gè)類中重新定義 。 在運(yùn)行期 , 當(dāng)前引用對(duì)象所對(duì)應(yīng)的代碼將被調(diào)用 。
消息傳遞
一個(gè)面向?qū)ο蟮某绦蛴稍S多對(duì)象組成 , 這些對(duì)象之間需要相互溝通 。 因此 , 在面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中 , 程序設(shè)計(jì)的主要步驟如下:
1、創(chuàng)建類 , 這些類定義了對(duì)象及其行為;
2、由類定義創(chuàng)建對(duì)象;
3、建立對(duì)象之間的通訊 。
對(duì)象之間通過(guò)收發(fā)信息相互溝通 , 這一點(diǎn)類似于人與人之間的信息傳遞 。 信息傳遞的概念使得真實(shí)世界的直接模擬更易于和建立系統(tǒng)交流 。
對(duì)于某個(gè)特定對(duì)象來(lái)說(shuō) , 消息就是請(qǐng)求執(zhí)行某個(gè)過(guò)程 , 因此 , 消息的接收對(duì)象會(huì)調(diào)用一個(gè)函數(shù)(過(guò)程) , 以產(chǎn)生預(yù)期的結(jié)果 。 傳遞的消息的內(nèi)容包括接收消息的對(duì)象的名字 , 需要調(diào)用的函數(shù)的名字 , 以及必要的信息 。
對(duì)象就有一個(gè)生命周期 。 它們可以被創(chuàng)建和銷毀 。 只要對(duì)象正處于其生存期 , 就可以與其進(jìn)行通訊 。
OOP的優(yōu)點(diǎn)
OOP具有許多優(yōu)點(diǎn) , 無(wú)論是對(duì)于程序設(shè)計(jì)者或者用戶來(lái)說(shuō)都是如此 。 面向?qū)ο鬄檐浖a(chǎn)品擴(kuò)展和質(zhì)量保證中的許多問(wèn)題提供了解決辦法 。 這項(xiàng)技術(shù)能夠大大提高程序員的生產(chǎn)力 , 并可提高軟件的質(zhì)量以及降低其維護(hù)費(fèi)用 。 其主要的優(yōu)點(diǎn)陳列于下:
1、通過(guò)繼承 , 我們可以大幅減少多余的代碼 , 并擴(kuò)展現(xiàn)有代碼的用途;
2、我們可以在標(biāo)準(zhǔn)的模塊上(這里所謂的“標(biāo)準(zhǔn)”指程序員之間彼此達(dá)成的協(xié)議)構(gòu)建我們的程序 , 而不必一切從頭開始 。 這可以減少軟件開發(fā)時(shí)間并提高生產(chǎn)效率;
3、數(shù)據(jù)隱藏的概念幫助程序員們保護(hù)程序免受外部代碼的侵襲;
4、允許一個(gè)對(duì)象的多個(gè)實(shí)例同時(shí)存在 , 而且彼此之間不會(huì)相互干擾;
5、允許將問(wèn)題空間中的對(duì)象直接映射到程序中;
6、基于對(duì)象的工程可以很容易的分割為獨(dú)立的部分;
7、以數(shù)據(jù)為中心的設(shè)計(jì)方法允許我們抓住可實(shí)現(xiàn)模型的更多細(xì)節(jié);
8、面向?qū)ο蟮南到y(tǒng)很容易從小到大逐步升級(jí);
9、對(duì)象間通訊所使用的消息傳遞技術(shù)與外部系統(tǒng)接口部分的描述更簡(jiǎn)單;
10、更便于控制軟件復(fù)雜度 。
當(dāng)需要將以上所說(shuō)的所有特性有機(jī)的結(jié)合于一個(gè)面向?qū)ο笙到y(tǒng)中 , 它們之間的相對(duì)重要性就取決于工程的類型和程序員的喜好 。 為了獲得上述的某些優(yōu)勢(shì) , 必須考慮很多事情 。 例如 , 對(duì)象庫(kù)必須可以被重用 。 技術(shù)還在不停的發(fā)展 , 現(xiàn)有的產(chǎn)品也會(huì)很快的更新?lián)Q代 。 如果重用沒(méi)有能夠?qū)崿F(xiàn) , 那么就需要進(jìn)行嚴(yán)格的控制和管理 。
易于使用的開發(fā)軟件往往難以編寫 。 面向?qū)ο蟪绦蛟O(shè)計(jì)工具有望解決這個(gè)問(wèn)題 。
面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言
面向?qū)ο蠹夹g(shù)并不是某個(gè)特定語(yǔ)言的特權(quán) 。 如同結(jié)構(gòu)化程序設(shè)計(jì)一樣 , OOP概念可以在很多語(yǔ)言比如C和Pascal中實(shí)現(xiàn) 。 但是 , 當(dāng)程序越來(lái)越大時(shí) , 程序設(shè)計(jì)工作會(huì)變得拙劣而混亂 。 而一個(gè)支持OOP概念的程序設(shè)計(jì)語(yǔ)言則可以讓一切變得簡(jiǎn)單 。

推薦閱讀