1.封裝
把類似的問題抽象出來,用乙個類去完成.這是最基本的,當然這個函式頁可以做到,但是一大片函式裝到乙個類檔案中會變的清晰.
封裝,也就是把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。
2.實現多型
對於程式設計經驗非常豐富的優秀程式設計師(指導老師)來說,他更注重類的多型.對於相同的操作來說很簡單就可以實現,但是要在這個基礎上進行改動或者延展的話只是單個的函式來說是很難修改的.
比如列印訂單,一張單據包括標題,訂單**上部關於訂單的描述,如訂單編號,客戶名,配送時間等.每乙個單據中資料有很多條,那麼每一頁單據到底列印多少行,是否分頁,每行具體列印什麼資料,是否有特殊的資料比如金額需要在數字前列印'¥',頁尾需要顯示那些資料........很多需要配置的屬性,那麼如果用函式就有點不形象.函式只能在呼叫時候傳參,沒傳參就使用預設的資料.而類的話就只是在需要的時候修改乙個屬性而已.在類使用時若類實現部分和期望不同就可以重寫函式覆蓋原有函式,做到多型.
3.繼承
它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。把已有的輪子拿來用,高效開發.
並且可以理清思路,分層分好對整個專案很有幫助.
4.資料與控制分離,很大程度上理清思路
**中乙個操作就是對資料的操作.在新手寫**的時候往往能在函式中看到很多與資料相關的部分,但是這樣會導致資料與控制的高耦合.一旦資料發生變化修改起來很麻煩.乙個類是對一種型別的問題的抽象解決.但乙個問題往往會有很多操作步驟.記住,乙個函式製作一件事!如果把那些操作都分的很細,那麼類使用者來複寫的時候會變得很簡單,而且**出錯可能會大大降低.至於每個資料中特殊的部分應該由多型來實現.讓類的使用著自己去複寫實現多型.
為什麼要物件導向
一 物件導向,這個物件到底是什麼?這個物件不是c 中的例項,c 中我們把乙個類的例項也叫做物件,這種物件嚴格的說應該是物件導向的程式設計實現 oop 中的物件,物件導向程式設計,也不是面向類的例項程式設計。物件的定義是人們要進行研究的任何事物,從最簡單的整數到複雜的飛機等均可看作物件,它不僅能表示具...
四 為什麼要物件導向
面向過程和計算機如影隨形,從計算機誕生之日起,面向過程一直佔主導地位。c語言 作業系統 協議棧 驅動系統 都是面向過程的代表。為什麼會有物件導向誕生並流行呢?面向過程是可以看作是流水線,那麼流水線有個缺點 流水和原料是相對固定的,擴充套件起來很麻煩。比如啤酒生產線,操作的原來是啤酒原料,生產的步驟是...
物件導向是什麼?為什麼要物件導向
一 物件導向,這個物件到底是什麼?這個物件不是c 中的例項,c 中我們把乙個類的例項也叫做物件,這種物件嚴格的說應該是物件導向的程式設計實現 oop 中的物件,物件導向程式設計,也不是面向類的例項程式設計。物件的定義是人們要進行研究的任何事物,從最簡單的整數到複雜的飛機等均可看作物件,它不僅能表示具...