什么是面向?qū)ο笸ㄋ滓锥甠什么是面向?qū)ο?/h1>
1、面向過程就是分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實現(xiàn),使用的時候一個一個依次調(diào)用就可以了。
2、 面向?qū)ο笫前褬?gòu)成問題事務(wù)分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。
(資料圖片)
3、1.什么是面向?qū)ο蠹夹g(shù)?面向?qū)ο蠹夹g(shù)是一種以對象為基礎(chǔ),以事件或消息來驅(qū)動對象執(zhí)行處理的程序設(shè)計技術(shù)。
4、它具有抽象性、封裝性、繼承性及多態(tài)性。
5、2.面向?qū)ο笈c面向過程程序設(shè)計有什么不同?面向?qū)ο笈c面向過程程序設(shè)計有如下不同:(1)面向過程程序設(shè)計方法采用函數(shù)(或過程)來描述對數(shù)據(jù)的操作,但又將函數(shù)與其操作的數(shù)據(jù)分離開來;面向?qū)ο蟪绦蛟O(shè)計方法將數(shù)據(jù)和對數(shù)據(jù)的操作封裝在一起,作為一個整體來處理。
6、 函數(shù)與數(shù)據(jù)是否分離(2)面向過程程序設(shè)計方法以功能為中心來設(shè)計功能模塊,難于維護;而面向?qū)ο蟪绦蛟O(shè)計方法以數(shù)據(jù)為中心來描述系統(tǒng),數(shù)據(jù)相對于功能而言具有較強的穩(wěn)定性,因此更易于維護。
7、(3)面向過程程序的控制流程由程序中預(yù)定順序來決定;面向?qū)ο蟪绦虻目刂屏鞒逃蛇\行時各種事件的實際發(fā)生來觸發(fā),而不再由預(yù)定順序來決定,更符合實際需要。
8、 預(yù)定順序;由運行時各種事件的實際發(fā)生來觸發(fā)(4)面向?qū)ο蟪绦蛟O(shè)計方法可以利用框架產(chǎn)品(如MFC,Microsoft Foundation Classes)進行編程。
9、 面向?qū)ο罂衫每蚣?面向?qū)ο蠛兔嫦蜻^程的根本差別,在于封裝之后,面向?qū)ο筇峁┝嗣嫦蜻^程不具備的各種特性,最主要的,就是繼承和多態(tài)。
10、3.面向?qū)ο蠹夹g(shù)有哪些優(yōu)點?面向?qū)ο蠹夹g(shù)具有程序結(jié)構(gòu)清晰,自動生成程序框架,實現(xiàn)簡單,可有效地減少程序的維護工作量,代碼重用率高,軟件開發(fā)效率高等優(yōu)點。
11、 4.面向?qū)ο蠹夹g(shù)中的封裝性有何優(yōu)缺點?如何克服這些缺點?封裝將對象有關(guān)的數(shù)據(jù)和行為封裝成整體來處理,使得對象以外的部分不能隨意存取對象的內(nèi)部屬性,從而有效地避免了外部錯誤對它的影響,大大減小了查錯和排錯的難度。
12、另一方面,當(dāng)進行修改對象內(nèi)部時,由于只有少量的外部接口對外提供服務(wù),因此同樣減小了內(nèi)部的修改對外部的影響。
13、 如果一味地強調(diào)封裝,對象的任何屬性都不允許外部直接存取,則要增加許多沒有其他意義、只負(fù)責(zé)讀或?qū)懙男袨椤?/p>
14、這會為編程工作增加負(fù)擔(dān),增加運行開銷,并且使程序顯得臃腫。
15、為了避免這一點,在程序的具體實現(xiàn)過程中應(yīng)使對象有不同程度的可見性,進而與客觀世界的具體情況相符合。
16、面向?qū)ο蟮奶攸c是:封裝,多態(tài),繼承。
17、其中多態(tài)有分為重載和重寫。
18、面向?qū)ο蟮木幊趟枷敫咏咏F(xiàn)實的事物。
19、 有這樣幾點好處:是編程更加容易。
20、因為面向?qū)ο蟾咏诂F(xiàn)實,所以你可以從現(xiàn)實的東西出發(fā),進行適當(dāng)?shù)某橄蟆?/p>
21、2、在軟件工程上,面向?qū)ο罂梢允构こ谈幽K化,實現(xiàn)更低的耦合和更高的內(nèi)聚。
22、3、在設(shè)計模式上(似乎只有面向?qū)ο蟛旁O(shè)計到設(shè)計模式),面向?qū)ο罂梢愿玫膶崿F(xiàn)開-閉原則。
23、也使代碼更易閱讀。
24、 相對而言,面向過程的程序設(shè)計是面向?qū)ο蟪绦蛟O(shè)計的基礎(chǔ)。
25、面向?qū)ο蟮某绦蚶锩嬉欢〞忻嫦蜻^程的程序片斷的5.為什么要應(yīng)用繼承機制? 客觀事物既有共性,也有特性。
26、如果只考慮事物的共性,而不考慮事物的特性,就不能反映出客觀世界中事物之間的層次關(guān)系。
27、抽象機制是考慮事物的共性,繼承機制是考慮事物的特性,這樣才能完整地描述客觀世界的層次關(guān)系。
28、繼承能使軟件模塊具有可重用性、獨立性,縮短軟件開發(fā)周期,提高軟件開發(fā)效率,同時使軟件易于維護。
29、6.C++對多態(tài)性的支持體現(xiàn)在哪些方面?C++的多態(tài)性分為編譯時多態(tài)和運行時多態(tài)。
30、編譯時多態(tài)是指在程序的編譯階段由編譯系統(tǒng)根據(jù)參數(shù)確定與哪個同名的函數(shù)相聯(lián)系;運行時多態(tài)是指在程序的運行階段才根據(jù)產(chǎn)生的信息確定需要調(diào)用哪個同名的函數(shù)。
31、C++通過函數(shù)重載和運算符重載實現(xiàn)編譯時多態(tài),通過繼承和虛函數(shù)來實現(xiàn)運行時多態(tài)。
32、7.目前常用的面向?qū)ο蟪绦蛟O(shè)計語言有何異同? 目前常用的面向?qū)ο蟪绦蛟O(shè)計語言有C++、Java、Visual Basic等。
33、C++是混合型面向?qū)ο蟪绦蛟O(shè)計語言,繼承并改進了C語言,是一種既支持面向?qū)ο笥种С置嫦蜻^程的程序設(shè)計方法。
34、Java是純面向?qū)ο蟪绦蛟O(shè)計語言,從C++發(fā)展而來。
35、C++和Java均支持面向?qū)ο蠹夹g(shù)的基本概念和基本特征,如封裝、類、構(gòu)造函數(shù)、析構(gòu)函數(shù)、繼承、多態(tài)等。
36、 C++與Java語法描述有相同之處,也有不同之處。
37、如基本結(jié)構(gòu)語句的語法大致相同,而類定義的語法等方面則不相同。
38、此外還有以下不同:(1)C++有運算符重載機制,而Java沒有此特性;(2)C++支持多重繼承,而Java只支持單重繼承;(3)C++通過構(gòu)造函數(shù)創(chuàng)建對象,可以直接使用指針來操作對象的成員,而Java通過new運算符創(chuàng)建對象,通過new運算符返回的對象引用來使用對象,而不是直接操作指針;(4)C++程序要顯式地釋放所分配的內(nèi)存,而Java具有內(nèi)存垃圾收集機制,自動管理內(nèi)存,不需要顯式釋放所分配的內(nèi)存。
39、 Visual Basic繼承了BASIC語言所具有的語法簡單、容易學(xué)習(xí)、容易使用、數(shù)據(jù)處理能力強的特點,又引入了面向?qū)ο蟆⑹录?qū)動的編程機制和可視化程序設(shè)計方法,大大降低了開發(fā)Windows應(yīng)用程序的難度,有效地提高了應(yīng)用程序開發(fā)的效率。
40、但是,Visual Basic存在語法不嚴(yán)格、開發(fā)出的系統(tǒng)穩(wěn)定性較低的缺點。
41、相對C++來說,Visual Basic面向系統(tǒng)底層的編程能力有限。
本文到此分享完畢,希望對大家有所幫助。
標(biāo)簽:
相關(guān)閱讀
1、面向過程就是分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實現(xiàn),使用的時候一個一個依次調(diào)用就可以了。
2、 面向?qū)ο笫前褬?gòu)成問題事務(wù)分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。
(資料圖片)
3、1.什么是面向?qū)ο蠹夹g(shù)?面向?qū)ο蠹夹g(shù)是一種以對象為基礎(chǔ),以事件或消息來驅(qū)動對象執(zhí)行處理的程序設(shè)計技術(shù)。
4、它具有抽象性、封裝性、繼承性及多態(tài)性。
5、2.面向?qū)ο笈c面向過程程序設(shè)計有什么不同?面向?qū)ο笈c面向過程程序設(shè)計有如下不同:(1)面向過程程序設(shè)計方法采用函數(shù)(或過程)來描述對數(shù)據(jù)的操作,但又將函數(shù)與其操作的數(shù)據(jù)分離開來;面向?qū)ο蟪绦蛟O(shè)計方法將數(shù)據(jù)和對數(shù)據(jù)的操作封裝在一起,作為一個整體來處理。
6、 函數(shù)與數(shù)據(jù)是否分離(2)面向過程程序設(shè)計方法以功能為中心來設(shè)計功能模塊,難于維護;而面向?qū)ο蟪绦蛟O(shè)計方法以數(shù)據(jù)為中心來描述系統(tǒng),數(shù)據(jù)相對于功能而言具有較強的穩(wěn)定性,因此更易于維護。
7、(3)面向過程程序的控制流程由程序中預(yù)定順序來決定;面向?qū)ο蟪绦虻目刂屏鞒逃蛇\行時各種事件的實際發(fā)生來觸發(fā),而不再由預(yù)定順序來決定,更符合實際需要。
8、 預(yù)定順序;由運行時各種事件的實際發(fā)生來觸發(fā)(4)面向?qū)ο蟪绦蛟O(shè)計方法可以利用框架產(chǎn)品(如MFC,Microsoft Foundation Classes)進行編程。
9、 面向?qū)ο罂衫每蚣?面向?qū)ο蠛兔嫦蜻^程的根本差別,在于封裝之后,面向?qū)ο筇峁┝嗣嫦蜻^程不具備的各種特性,最主要的,就是繼承和多態(tài)。
10、3.面向?qū)ο蠹夹g(shù)有哪些優(yōu)點?面向?qū)ο蠹夹g(shù)具有程序結(jié)構(gòu)清晰,自動生成程序框架,實現(xiàn)簡單,可有效地減少程序的維護工作量,代碼重用率高,軟件開發(fā)效率高等優(yōu)點。
11、 4.面向?qū)ο蠹夹g(shù)中的封裝性有何優(yōu)缺點?如何克服這些缺點?封裝將對象有關(guān)的數(shù)據(jù)和行為封裝成整體來處理,使得對象以外的部分不能隨意存取對象的內(nèi)部屬性,從而有效地避免了外部錯誤對它的影響,大大減小了查錯和排錯的難度。
12、另一方面,當(dāng)進行修改對象內(nèi)部時,由于只有少量的外部接口對外提供服務(wù),因此同樣減小了內(nèi)部的修改對外部的影響。
13、 如果一味地強調(diào)封裝,對象的任何屬性都不允許外部直接存取,則要增加許多沒有其他意義、只負(fù)責(zé)讀或?qū)懙男袨椤?/p>
14、這會為編程工作增加負(fù)擔(dān),增加運行開銷,并且使程序顯得臃腫。
15、為了避免這一點,在程序的具體實現(xiàn)過程中應(yīng)使對象有不同程度的可見性,進而與客觀世界的具體情況相符合。
16、面向?qū)ο蟮奶攸c是:封裝,多態(tài),繼承。
17、其中多態(tài)有分為重載和重寫。
18、面向?qū)ο蟮木幊趟枷敫咏咏F(xiàn)實的事物。
19、 有這樣幾點好處:是編程更加容易。
20、因為面向?qū)ο蟾咏诂F(xiàn)實,所以你可以從現(xiàn)實的東西出發(fā),進行適當(dāng)?shù)某橄蟆?/p>
21、2、在軟件工程上,面向?qū)ο罂梢允构こ谈幽K化,實現(xiàn)更低的耦合和更高的內(nèi)聚。
22、3、在設(shè)計模式上(似乎只有面向?qū)ο蟛旁O(shè)計到設(shè)計模式),面向?qū)ο罂梢愿玫膶崿F(xiàn)開-閉原則。
23、也使代碼更易閱讀。
24、 相對而言,面向過程的程序設(shè)計是面向?qū)ο蟪绦蛟O(shè)計的基礎(chǔ)。
25、面向?qū)ο蟮某绦蚶锩嬉欢〞忻嫦蜻^程的程序片斷的5.為什么要應(yīng)用繼承機制? 客觀事物既有共性,也有特性。
26、如果只考慮事物的共性,而不考慮事物的特性,就不能反映出客觀世界中事物之間的層次關(guān)系。
27、抽象機制是考慮事物的共性,繼承機制是考慮事物的特性,這樣才能完整地描述客觀世界的層次關(guān)系。
28、繼承能使軟件模塊具有可重用性、獨立性,縮短軟件開發(fā)周期,提高軟件開發(fā)效率,同時使軟件易于維護。
29、6.C++對多態(tài)性的支持體現(xiàn)在哪些方面?C++的多態(tài)性分為編譯時多態(tài)和運行時多態(tài)。
30、編譯時多態(tài)是指在程序的編譯階段由編譯系統(tǒng)根據(jù)參數(shù)確定與哪個同名的函數(shù)相聯(lián)系;運行時多態(tài)是指在程序的運行階段才根據(jù)產(chǎn)生的信息確定需要調(diào)用哪個同名的函數(shù)。
31、C++通過函數(shù)重載和運算符重載實現(xiàn)編譯時多態(tài),通過繼承和虛函數(shù)來實現(xiàn)運行時多態(tài)。
32、7.目前常用的面向?qū)ο蟪绦蛟O(shè)計語言有何異同? 目前常用的面向?qū)ο蟪绦蛟O(shè)計語言有C++、Java、Visual Basic等。
33、C++是混合型面向?qū)ο蟪绦蛟O(shè)計語言,繼承并改進了C語言,是一種既支持面向?qū)ο笥种С置嫦蜻^程的程序設(shè)計方法。
34、Java是純面向?qū)ο蟪绦蛟O(shè)計語言,從C++發(fā)展而來。
35、C++和Java均支持面向?qū)ο蠹夹g(shù)的基本概念和基本特征,如封裝、類、構(gòu)造函數(shù)、析構(gòu)函數(shù)、繼承、多態(tài)等。
36、 C++與Java語法描述有相同之處,也有不同之處。
37、如基本結(jié)構(gòu)語句的語法大致相同,而類定義的語法等方面則不相同。
38、此外還有以下不同:(1)C++有運算符重載機制,而Java沒有此特性;(2)C++支持多重繼承,而Java只支持單重繼承;(3)C++通過構(gòu)造函數(shù)創(chuàng)建對象,可以直接使用指針來操作對象的成員,而Java通過new運算符創(chuàng)建對象,通過new運算符返回的對象引用來使用對象,而不是直接操作指針;(4)C++程序要顯式地釋放所分配的內(nèi)存,而Java具有內(nèi)存垃圾收集機制,自動管理內(nèi)存,不需要顯式釋放所分配的內(nèi)存。
39、 Visual Basic繼承了BASIC語言所具有的語法簡單、容易學(xué)習(xí)、容易使用、數(shù)據(jù)處理能力強的特點,又引入了面向?qū)ο蟆⑹录?qū)動的編程機制和可視化程序設(shè)計方法,大大降低了開發(fā)Windows應(yīng)用程序的難度,有效地提高了應(yīng)用程序開發(fā)的效率。
40、但是,Visual Basic存在語法不嚴(yán)格、開發(fā)出的系統(tǒng)穩(wěn)定性較低的缺點。
41、相對C++來說,Visual Basic面向系統(tǒng)底層的編程能力有限。
本文到此分享完畢,希望對大家有所幫助。
標(biāo)簽: