什麼是物件導向思想。能詳細點嗎?用自己的理解來說。
文章推薦指數: 80 %
物件導向技術具有程式結構清晰,自動生成程式框架,實現簡單,可有效地減少程式的維護工作量,**重用率高,軟體開發效率高等優點。
4.物件導向技術中的 ...
什麼是物件導向,什麼是程序導向,什麼是物件導向物件,什麼是程序導向,什麼是物件導向思想。
能詳細點嗎?用自己的理解來說。
2021-02-0816:01:26字數2892閱讀7486
1樓:
程序導向就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候一個一個依次呼叫就可以了。
物件導向是把構成問題事務分解成各個物件,建立物件的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。
1.什麼是物件導向技術?
物件導向技術是一種以物件為基礎,以事件或訊息來驅動物件執行處理的程式設計技術。
它具有抽象性、封裝性、繼承性及多型性。
2.物件導向與程序導向程式設計有什麼不同?
物件導向與程序導向程式設計有如下不同:
(1)程序導向程式設計方法採用函式(或過程)來描述對資料的操作,但又將函式與其操作的資料分離開來;物件導向程式設計方法將資料和對資料的操作封裝在一起,作為一個整體來處理。
函式與資料是否分離
(2)程序導向程式設計方法以功能為中心來設計功能模組,難於維護;而物件導向程式設計方法以資料為中心來描述系統,資料相對於功能而言具有較強的穩定性,因此更易於維護。
(3)程序導向程式的控制流程由程式中預定順序來決定;物件導向程式的控制流程由執行時各種事件的實際發生來觸發,而不再由預定順序來決定,更符合實際需要。
預定順序;由執行時各種事件的實際發生來觸發
(4)物件導向程式設計方法可以利用框架產品(如mfc,microsoftfoundationclasses)進行程式設計。
物件導向可利用框架物件導向和麵向過程的根本差別,在於封裝之後,物件導向提供了程序導向不具備的各種特性,最主要的,就是繼承和多型。
3.物件導向技術有哪些優點?
物件導向技術具有程式結構清晰,自動生成程式框架,實現簡單,可有效地減少程式的維護工作量,**重用率高,軟體開發效率高等優點。
4.物件導向技術中的封裝性有何優缺點?如何克服這些缺點?
封裝將物件有關的資料和行為封裝成整體來處理,使得物件以外的部分不能隨意存取物件的內部屬性,從而有效地避免了外部錯誤對它的影響,大大減小了查錯和排錯的難度。
另一方面,當進行修改物件內部時,由於只有少量的外部介面對外提供服務,因此同樣減小了內部的修改對外部的影響。
如果一味地強調封裝,物件的任何屬性都不允許外部直接存取,則要增加許多沒有其他意義、只負責讀或寫的行為。
這會為程式設計工作增加負擔,增加執行開銷,並且使程式顯得臃腫。
為了避免這一點,在程式的具體實現過程中應使物件有不同程度的可見性,進而與客觀世界的具體情況相符合。
物件導向的特點是:封裝,多型,繼承。
其中多型有分為過載和重寫。
物件導向的程式設計思想更加接近現實的事物。
有這樣幾點好處:
1、是程式設計更加容易。
因為物件導向更接近於現實,所以你可以從現實的東西出發,進行適當的抽象。
2、在軟體工程上,物件導向可以使工程更加模組化,實現更低的耦合和更高的內聚。
3、在設計模式上(似乎只有物件導向才設計到設計模式),物件導向可以更好的實現開-閉原則。
也使**更易閱讀。
相對而言,程序導向的程式設計是物件導向程式設計的基礎。
物件導向的程式裡面一定會有程序導向的程式片斷的
5.為什麼要應用繼承機制?客觀事物既有共性,也有特性。
如果只考慮事物的共性,而不考慮事物的特性,就不能反映出客觀世界中事物之間的層次關係。
抽象機制是考慮事物的共性,繼承機制是考慮事物的特性,這樣才能完整地描述客觀世界的層次關係。
繼承能使軟體模組具有可重用性、獨立性,縮短軟體開發週期,提高軟體開發效率,同時使軟體易於維護。
6.c++對多型性的支援體現在哪些方面?
c++的多型性分為編譯時多型和執行時多型。
編譯時多型是指在程式的編譯階段由編譯系統根據引數確定與哪個同名的函式相聯絡;執行時多型是指在程式的執行階段才根據產生的資訊確定需要呼叫哪個同名的函式。
c++通過函式過載和運算子過載實現編譯時多型,通過繼承和虛擬函式來實現執行時多型。
7.目前常用的物件導向程式設計語言有何異同?目前常用的物件導向程式設計語言有c++、java、visualbasic等。
c++是混合型物件導向程式設計語言,繼承並改進了c語言,是一種既支援物件導向又支援程序導向的程式設計方法。
java是純物件導向程式設計語言,從c++發展而來。
c++和java均支援物件導向技術的基本概念和基本特徵,如封裝、類、建構函式、解構函式、繼承、多型等。
c++與java語法描述有相同之處,也有不同之處。
如基本結構語句的語法大致相同,而類定義的語法等方面則不相同。
此外還有以下不同:
(1)c++有運算子過載機制,而java沒有此特性;
(2)c++支援多重繼承,而java只支援單重繼承;
(3)c++通過建構函式建立物件,可以直接使用指標來操作物件的成員,而java通過new運算子建立物件,通過new運算子返回的物件引用來使用物件,而不是直接操作指標;
(4)c++程式要顯式地釋放所分配的記憶體,而java具有記憶體垃圾收集機制,自動管理記憶體,不需要顯式釋放所分配的記憶體。
visualbasic繼承了basic語言所具有的語法簡單、容易學習、容易使用、資料處理能力強的特點,又引入了物件導向、事件驅動的程式設計機制和視覺化程式設計方法,大大降低了開發windows應用程式的難度,有效地提高了應用程式開發的效率。
但是,visualbasic存在語法不嚴格、開發出的系統穩定性較低的缺點。
相對c++來說,visualbasic面向系統底層的程式設計能力有限
什麼是物件導向物件,什麼是程序導向,什麼是物件導向思想。
能詳細點嗎?用自己的理解來說。
2樓:秦仙
物件導向就是你所考慮的物件,比如java就是物件導向程式設計的。
如果想通過程式設計說明一個人做飯,那麼就會面向人這個來寫,做飯是他的一種行為,寫的時候就抽象為方法。
而程序導向就會按他做飯的步驟寫,先買菜洗菜炒作煮飯。
物件導向思想就是考慮的物件,而不是按過程來的。
它會把物件的屬性和行為抽象為變數和方法。
舉例說你一天的生活。
你就是一個物件,你有姓名,性別,年齡等屬性來表明你的特點,在寫的時候就會定義幾個變數表示你的姓名性別等屬性。
你會有做飯,學習,睡覺等行為,寫的時候會寫做飯,學習,睡覺三個方法對應表示你的行為。
你這個具體的人就是一個物件。
當然還不止這一點,但是這是最核心和重要的。
相關推薦
老師,進銷存怎麼學習
C語言中用於結構化程式設計的三種基本結構是
物件導向程式設計有哪些基本特徵,物件導向程式設計的基本特徵有哪些
什麼是物件導向,什麼是程序導向,什麼是物件導向物件,什麼是程序導向,什麼是物件導向思想。
能詳細點嗎?用自己的理解來說。
用c寫程式,用c寫一個程式
相關推薦
老師,進銷存怎麼學習
C語言中用於結構化程式設計的三種基本結構是
物件導向程式設計有哪些基本特徵,物件導向程式設計的基本特徵有哪些
什麼是物件導向,什麼是程序導向,什麼是物件導向物件,什麼是程序導向,什麼是物件導向思想。
能詳細點嗎?用自己的理解來說。
用c寫程式,用c寫一個程式
相關閱讀
老師,進銷存怎麼學習
C語言中用於結構化程式設計的三種基本結構是
物件導向程式設計有哪些基本特徵,物件導向程式設計的基本特徵有哪些
什麼是物件導向,什麼是程序導向,什麼是物件導向物件,什麼是程序導向,什麼是物件導向思想。
能詳細點嗎?用自己的理解來說。
用c寫程式,用c寫一個程式
什麼是物件導向程式設計語言不同於其他語言的主要特點
topic
社會
教育
文化
娛樂
科技
健康
心理
時尚
家居
收藏
旅遊
科學
汽車
育兒
財經
美食
遊戲
數碼
三農
寵物
職場
歷史
體育
動漫
國際
軍事
電影
知識
延伸文章資訊
- 1什麼是物件導向思想。能詳細點嗎?用自己的理解來說。
物件導向技術具有程式結構清晰,自動生成程式框架,實現簡單,可有效地減少程式的維護工作量,**重用率高,軟體開發效率高等優點。 4.物件導向技術中的 ...
- 2程序導向和麵向物件程式設計的區別和優缺點 - 程序員學院
程序導向和麵向物件程式設計的區別和優缺點,面向於誰,就更看重於誰程序導向當需要實現一個功能的時候,每一個具體的步驟都要親力親為, ...
- 3淺談物件導向SOLID 原則對工程師的好處與如何影響能力
但這不代表物件導向沒有缺點,要是沒有妥善運用SOLID 原則的話,物件導向對專案的傷害絕對不比 程序式程式碼 低!但這留給後續的文章來解釋,首先來看 ...
- 4物件導向技術的光環效應 - Huan-Lin 學習筆記
在碰到推廣OO 技術的場合,常會聽到傳統的程序導向分析和物件導向分析的 ... 反OO 言論的感染,而沒有機會實作OO、深入了解OO 實際的優點(和缺點)。
- 5Re: 物件導向的缺點?? - ooad - PTT數位生活
引述《SureWin (surewin)》之銘言: : 想問一下: 現在大家都用物件導向的分析設計甚至: coding 現在很熱門: 我想問一下那它有沒有缺點阿: 有沒有什麼資料是探討它的 ...