什么是面向對象通俗易懂_什么是面向對象
1、面向過程就是分析出解決問題所需要的步驟,然后用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。
2、 面向對象是把構成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。
(資料圖片)
3、1.什么是面向對象技術?面向對象技術是一種以對象為基礎,以事件或消息來驅動對象執行處理的程序設計技術。
4、它具有抽象性、封裝性、繼承性及多態性。
5、2.面向對象與面向過程程序設計有什么不同?面向對象與面向過程程序設計有如下不同:(1)面向過程程序設計方法采用函數(或過程)來描述對數據的操作,但又將函數與其操作的數據分離開來;面向對象程序設計方法將數據和對數據的操作封裝在一起,作為一個整體來處理。
6、 函數與數據是否分離(2)面向過程程序設計方法以功能為中心來設計功能模塊,難于維護;而面向對象程序設計方法以數據為中心來描述系統,數據相對于功能而言具有較強的穩定性,因此更易于維護。
7、(3)面向過程程序的控制流程由程序中預定順序來決定;面向對象程序的控制流程由運行時各種事件的實際發生來觸發,而不再由預定順序來決定,更符合實際需要。
8、 預定順序;由運行時各種事件的實際發生來觸發(4)面向對象程序設計方法可以利用框架產品(如MFC,Microsoft Foundation Classes)進行編程。
9、 面向對象可利用框架 面向對象和面向過程的根本差別,在于封裝之后,面向對象提供了面向過程不具備的各種特性,最主要的,就是繼承和多態。
10、3.面向對象技術有哪些優點?面向對象技術具有程序結構清晰,自動生成程序框架,實現簡單,可有效地減少程序的維護工作量,代碼重用率高,軟件開發效率高等優點。
11、 4.面向對象技術中的封裝性有何優缺點?如何克服這些缺點?封裝將對象有關的數據和行為封裝成整體來處理,使得對象以外的部分不能隨意存取對象的內部屬性,從而有效地避免了外部錯誤對它的影響,大大減小了查錯和排錯的難度。
12、另一方面,當進行修改對象內部時,由于只有少量的外部接口對外提供服務,因此同樣減小了內部的修改對外部的影響。
13、 如果一味地強調封裝,對象的任何屬性都不允許外部直接存取,則要增加許多沒有其他意義、只負責讀或寫的行為。
14、這會為編程工作增加負擔,增加運行開銷,并且使程序顯得臃腫。
15、為了避免這一點,在程序的具體實現過程中應使對象有不同程度的可見性,進而與客觀世界的具體情況相符合。
16、面向對象的特點是:封裝,多態,繼承。
17、其中多態有分為重載和重寫。
18、面向對象的編程思想更加接近現實的事物。
19、 有這樣幾點好處:是編程更加容易。
20、因為面向對象更接近于現實,所以你可以從現實的東西出發,進行適當的抽象。
21、2、在軟件工程上,面向對象可以使工程更加模塊化,實現更低的耦合和更高的內聚。
22、3、在設計模式上(似乎只有面向對象才設計到設計模式),面向對象可以更好的實現開-閉原則。
23、也使代碼更易閱讀。
24、 相對而言,面向過程的程序設計是面向對象程序設計的基礎。
25、面向對象的程序里面一定會有面向過程的程序片斷的5.為什么要應用繼承機制? 客觀事物既有共性,也有特性。
26、如果只考慮事物的共性,而不考慮事物的特性,就不能反映出客觀世界中事物之間的層次關系。
27、抽象機制是考慮事物的共性,繼承機制是考慮事物的特性,這樣才能完整地描述客觀世界的層次關系。
28、繼承能使軟件模塊具有可重用性、獨立性,縮短軟件開發周期,提高軟件開發效率,同時使軟件易于維護。
29、6.C++對多態性的支持體現在哪些方面?C++的多態性分為編譯時多態和運行時多態。
30、編譯時多態是指在程序的編譯階段由編譯系統根據參數確定與哪個同名的函數相聯系;運行時多態是指在程序的運行階段才根據產生的信息確定需要調用哪個同名的函數。
31、C++通過函數重載和運算符重載實現編譯時多態,通過繼承和虛函數來實現運行時多態。
32、7.目前常用的面向對象程序設計語言有何異同? 目前常用的面向對象程序設計語言有C++、Java、Visual Basic等。
33、C++是混合型面向對象程序設計語言,繼承并改進了C語言,是一種既支持面向對象又支持面向過程的程序設計方法。
34、Java是純面向對象程序設計語言,從C++發展而來。
35、C++和Java均支持面向對象技術的基本概念和基本特征,如封裝、類、構造函數、析構函數、繼承、多態等。
36、 C++與Java語法描述有相同之處,也有不同之處。
37、如基本結構語句的語法大致相同,而類定義的語法等方面則不相同。
38、此外還有以下不同:(1)C++有運算符重載機制,而Java沒有此特性;(2)C++支持多重繼承,而Java只支持單重繼承;(3)C++通過構造函數創建對象,可以直接使用指針來操作對象的成員,而Java通過new運算符創建對象,通過new運算符返回的對象引用來使用對象,而不是直接操作指針;(4)C++程序要顯式地釋放所分配的內存,而Java具有內存垃圾收集機制,自動管理內存,不需要顯式釋放所分配的內存。
39、 Visual Basic繼承了BASIC語言所具有的語法簡單、容易學習、容易使用、數據處理能力強的特點,又引入了面向對象、事件驅動的編程機制和可視化程序設計方法,大大降低了開發Windows應用程序的難度,有效地提高了應用程序開發的效率。
40、但是,Visual Basic存在語法不嚴格、開發出的系統穩定性較低的缺點。
41、相對C++來說,Visual Basic面向系統底層的編程能力有限。
本文到此分享完畢,希望對大家有所幫助。
標簽: