物件導向vs非物件導向 - w3c學習教程

文章推薦指數: 80 %
投票人數:10人

每個物件都有自己有自己的狀態,並能夠根據自身當前狀態完成相應的功能。

封裝:非物件導向程式設計將資料與功能函式分離,在c語言中資料採用結構體方式 ... 物件導向vs非物件導向 2021-08-2516:20:51字數695閱讀8856 非物件導向更關注功能,它將一個大的問題細分成很多小功能,每個功能就表現為一個函式,通過函式之間的相互連線,完成問題的求解。

使用這種功能分解方式程式設計會出現一個問題:當需求發生改變時,必須要修改某個函式或模組,模組的變化同時會引起其他依賴該模組的程式的正常執行,因此帶來了程式不易維護和擴充套件的缺點。

物件導向程式設計用物件封裝解決了上面的問題。

利用物件導向的基本特徵,並靈活使用設計模式,能給程式帶來良好的可複用性、可擴充套件性以及可維護性。

物件導向有4個主要特徵,它們是區分非物件導向程式設計的主要標誌。

抽象:抽象包括資料抽象和過程抽象。

面向程序式程式設計,不是把過程與資料看成一個整體,只是把客體的行為抽取出來,如果屬性有變更,需要更改很多地方。

而物件導向程式設計將資料與過程做個一個整體,並形成物件。

每個物件都有自己有自己的狀態,並能夠根據自身當前狀態完成相應的功能。

封裝:非物件導向程式設計將資料與功能函式分離,在c語言中資料採用結構體方式表示,其成員變數都預設public的。

物件導向採用類作為封裝,其中包含了屬性和方法,且都可以用public,protected,friendly,private四種不同的訪問許可權修飾,達到了資料隱藏的效果,提高了軟體的可靠性和可維護性。

繼承:在非物件導向程式設計中沒有繼承的概念。

物件導向中的繼承增加了軟體的可複用性和可擴充套件性。

多型:多型依託於繼承。

把通用功能放在較高層次,具體實現放在較低層次,低層次的物件能對通用訊息作出個性的響應。

增強程式的可擴充套件性和可維護性。

相關推薦 Oracle中Number型別 iphone開源彙總 Flash與分佈學構想圓弧分佈 物件導向vs非物件導向 元宵,你團圓了嗎 相關推薦 Oracle中Number型別 iphone開源彙總 Flash與分佈學構想圓弧分佈 物件導向vs非物件導向 元宵,你團圓了嗎 相關閱讀 Oracle中Number型別 iphone開源彙總 Flash與分佈學構想圓弧分佈 物件導向vs非物件導向 元宵,你團圓了嗎 元宵,你團圓了嗎 topic 科技 教育 python 社會 linux 數碼 java c++ 遊戲 演算法 資料庫 健康 文化 mysql 汽車 娛樂 科學 財經 資料結構 C語言 職場 php oracle c# C 作業系統 工作 體育 sql 網路



請為這篇文章評分?