導航:首頁 > 編程知識 > 為什麼編程語言引入面向對象思維

為什麼編程語言引入面向對象思維

發布時間:2023-03-15 17:29:11

㈠ 編程語言中什麼叫面向對象為什麼說VB是面向對象的呢除了面向對象還有什麼

面向對象的棗鬧緩思維模式是與我們人類接觸自然界的
認知過程
是最接近的,我們在自然界中面對的任何事物,都有大小、重量、顏色等屬性,冰塊遇熱會凳模融化(這就是事件),動物會跑、彎和植物會生長(這就是方法),等等。而我們編程時面對的對象也有屬性、事件、方法等,通過這些,我們就能把自己對自然界的認知過程完整復制給電腦,這樣的話
電腦程序
的運行過程和運行結果就會與我們人類的思維模式吻合了。因此,目前
幾乎所有的
編程語言都是以面向對象為基礎模式的。

㈡ 現代編程技術中為什麼普遍採用面向對象的程序設計方法

在編程語言中,面向對象是現在的主流編程方法談汪。這種方法是面向對象的,這里含羨仔的對象可以是任何,比如你在C++中定義的某個變數A,或者你編寫的某種方法等等。 我們大學老師教的時候說的一個比較實際的例子就是,比如你的程序是一個工廠,工廠里派瞎汽車...

㈢ 為什麼說java是面向對象編程語言,面向對象和面向過程最大的區別是什麼

java裡面全是類,實行的是萬事萬物皆對象
面向過程開發方式是對計算機底層結構的一層抽象,它明顯把程序的內容分為數據和操縱數據的操作兩部分。這種編程方式的核心問題是數據結構和演算法的開發和優化。C
語言所提供的機制就是典型的結構化編程設施。
需要一步步去實行
面向對象就不同了,抽象數據類型方法雖然也有一定的抽象能力,但其核心仍然是數據結構和演算法。而面向對象方法直接把所有事物都當作獨立的對象,處理問題過程中所思考的不再主要是怎樣用數據結構來描述問題,而是直接考慮重現問題中各個對象之間的關系。可以說,面向對象革命的最重要價值就在於改變了人們看待和處理問題的方式。

㈣ 軟體工程為什麼要用面向對象 csdn

人類自古至今所有的活動都是基於:
統一描述和目標導向
這種思維模式的,

所謂改銷面向對象的編程核遲游語言就是它能提供為這種分析和解決問旦宏題的方法論提供一些技術層面的支持;

在編程概念上,面向對象更接近規劃,面向過程更接近實現,你不能割斷或對立這兩種說法,舉例說明:如果你是程序員,我派出一份工單給你,要求你實現一個介面,
我才不會在乎你的代碼是否更具有所謂的OO風格,只要你更在規定工時內通過測試就可以了

㈤ 編程中說的面向對象是什麼意思

最好看看objects beginning
這東西是只可議會不可言傳啊!沒事的時候多看看面向對象的書!

㈥ 什麼是面向對象為什麼要用面向對象來編程

面向對象分析屬於軟體開發過程中的問題定義階段,其目標是清晰、精確地定義問題領域。傳統的系統分析產生一組面向過程的文檔,定義目標系統的功能;面向對象分析則產生一種描述系統功能和問題領域的基本特徵的綜合文檔。 原則面向對象分析的主要原則如下。1.抽象從許多事物中舍棄個別的、非本質的特徵,抽取共同的、本質性的特徵,就叫做抽象。抽象是形成概念的必須手段。抽象原則有兩方面的意義:第一,盡管問題域中的事物是很復雜的,但是分析員並不需要了解和描述它們的一切,只需要分析研究其中與系統目標有關的事物及其本質性特徵。第二,通過舍棄個體事物在細節上的差異,抽取其共同特徵而得到一批事物的抽象概棗散念。抽象是面向對象方法中使用最為廣泛的原則。抽象原則包括過程抽象和數據抽象兩個方面。過程抽象是指,任何一個完成確定功能的操作序列,其使用者都可以把它看做一個單一的實體,盡管實際上它可能是由一系列更低級的操作完成的。數據抽象是指根據施加於數據之上的操作來定義數據類型,並限定數據的值只能由這些操作來修改和觀察。數據抽象是面向對象分析的核心原則。它強調把數據(屬性)和操作(服務)結合為一個不可分的系統單位(即對象),對象的外部只需要知道它做什麼,而不必知道它如何做。2.封裝封裝就是把對象的屬性和服務結合為一個不可分的系統單位,並盡可能隱蔽對象的內部細節。3.繼承特殊類的對象擁有的其一般類的全部屬性與服務,稱作特殊類對一般類的繼承。在面向對象分析中運用繼承原則,就是在每個由一般類和特殊類形成的一般—特殊結構中,把一般類的對象實例和所有特殊類的對象實例都共同具有的屬性和服務,一次性地在一般類中進行顯式定義。在特殊類中不再重復地定義一般類中已定義的東西,但是在語義上,特殊類卻自動地、隱含地擁有它的一般類(以及所有更上層的一般類)中定義的全部屬性和服務。繼承原則的好處是:使系統模型比較簡練也比較清晰。4.分類就是把具有相同屬性和服務的對象劃分為一類,用類作為這些對象的抽象描述。分類原則實際上是抽象原則運用於對象描述時的一種表現形式。5.聚合聚合的原則是:把一個復雜的事物看成若干比較簡單的事物的組裝體,從而簡化對復雜事物的描述。6.關聯關聯是人類思考問題時經常運用的思想方法:通過一個事物聯想到另外的事物。能使人發生聯想的原因是事物之間確實存在著某些聯系。7.消息通信這一原則要求對象之間只能通過消息進行通信,而不允許在對象之外直接地存取對象內部的屬性。通過消息進行通信是由於封裝原則而引起的。在OOA中要求用消息連接表示出對象之間的動態聯系。8.粒度控制一般來講,人在面對一個復雜的問題域時,不可能在同一時刻既能縱觀全局,又能洞察秋毫。因此需要控制自己的視野:考慮全局時,注意其大的組成部分,暫時不詳察每一部分的具體的細節;考慮某部分的細節時則暫時撇開其餘的部分。這凳坦氏就是粒度控制原則。9.行為分析現實世界中事物的行為是復雜的。由大量的事物所構成的問題域中各種行為往往相互依賴、相互交織。階段面向對象分析過程可分為問題領域分析和應用分析兩個階段。信鎮問題領域分析是軟體開發的基本組成部分,目的是使開發人員了解問題領域的結構,建立大致的系統實現環境。問題領域分析給出一組抽象概念(從高層來表示問題領域知識,常常超出當前應用的范圍)作為特定系統需求開發的參考。問題領域分析實際上是一種學習過程。軟體開發人員在這個階段應該盡可能地理解當前系統中與應用有關的知識,應該放開思維,放寬考慮的范圍,盡可能地標識與應用有關的概念。問題領域分析的邊界可能很模糊。有了廣泛的問題領域知識,涉及到具體的應用時,就可以更快地進入狀態,掌握應用的核心知識。而且,在用戶改變對目標系統的需求時,廣泛的分析可以幫助我們預測出目標系統在哪些方面會發生哪些變化。通常進行小組分析,小組成員可以包括領域專家和分析員等。在分析過程中,應該標識出系統的基本概念(對象、類、方法、關系等)、識別問題領域的特徵,並把這些概念集成到問題領域的模型中。問題領域的模型必須包含概念之間的關系,以及每個概念的全部信息。標識出來的相關概念應該根據信息內容來有機地融合到問題領域的綜合視圖中。應用分析是依據在問題領域分析時建立起來的問題領域模型來進行的。應用分析時,把問題領域模型用於當前特定的應用之中。首先,通過收集到的用戶信息來對問題領域進行取捨,把用戶需求作為限制條件來使用,以縮減問題領域的信息量。因此,問題領域分析的視野大小直接影響到應用分析保留的信息量。一般來說,問題領域分析階段產生的模型並不需要用程序設計語言來表示,而應用分析階段產生的影響條件則需要用某種程序設計語言來表示。模型識別的要求可以針對一個應用,也可以針對多個應用。通常我們著重考慮兩個方面,即應用視圖和類視圖。在類視圖中,必須對每個類的屬性和操作進行細化,並表示出類之間的相互作用關系。目標Coad和Yourdon 認為,面向對象分析主要應該考慮與特定應用有關的對象,以及對象之間在結構和相互作用上的關系。在面向對象分析中,需要建立分析模型來描述系統的功能。面向對象分析需要完成如下兩個任務:— 形式化地說明所面對的應用問題,最終成為軟體系統基本構成的對象,以及系統所必須遵從的、由應用環境所決定的規則和約束條件。— 明確地規定構成系統的對象如何協同工作和完成指定的功能。通過面向對象分析所建立的系統模型是以概念為中心的,因此稱為概念模型。概念模型由一組相關的類組成。面向對象分析可以通過自頂向下地逐層分解來建立系統模型,也可以自底向上地從已經定義的類出發,逐步構造新的類。概念模型的構造和評審由如下5個層次構成:— 類和對象層— 屬性層— 服務層— 結構層— 主題層這5個層次不是構成軟體系統的層次,而是分析過程中的層次。也可以說是問題的不同側面。每個層次的工作都為系統的規格說明增加了一個組成部分。當5個層次的工作全部完成時,面向對象分析的任務也就完成了。在實際操作中,面向對象分析的目標是得出問題領域的功能模型、對象模型和動態模型,並用相應的UML圖將它們表示出來。步驟面向對象分析通常按照下面的步驟來進行:(1)標識對象和類。可以從應用領域開始,逐步確定形成整個應用的基礎類和對象。這一步需要分析領域中目標系統的責任,調查系統的環境,從而確定對系統有用的類和對象。(2)標識結構。典型的結構有兩種,即一般—特殊結構和整體—部分結構。一般—特殊結構表示一般類是基類,特殊類是派生類。比如,汽車是轎車和卡車的基類,這是一種一般—特殊結構。整體部分結構表示聚合,由屬於不同類的成員聚合成為新的類。比如,輪子、車體和汽車底盤都是汽車的一部分,這些不同功能的部件聚合成為汽車這個整體。(3)標識屬性。對象所保存的信息稱為它的屬性。類的屬性描述狀態信息,在類的某個實例中,屬性的值表示該對象的狀態值。需要找出每個對象在目標系統中所需要的屬性,並將屬性安排在適當的位置,找出實例連接,最後再進行檢查。應該給出每個屬性的名字和描述,並指定該屬性所受的特殊限制(如只讀、屬性值限定在某個范圍之內等)。(4)標識服務。對象收到消息後執行的操作稱為對象提供的服務。它描述了系統需要執行的處理和功能。定義服務的目的是為了定義對象的行為和對象之間的通信。其具體步驟包括:— 標識對象狀態— 標識必要的服務— 標識消息連接— 描述服務可以用類似於流圖的圖形來表示服務。(5)標識主題。為了更好地理解包含大量類和對象的概念模型,需要標識主題,即對模型進行劃分,給出模型的整體框架,劃分出層次結構。可以按照如下步驟來標識主題。— 識別主題— 對主題進行改進和細化— 將主題加入到分析模型主題是一個與應用相關的概念,而不是人為任意引出來的,主題層的工作有助於理解分析的結果。優點面向對象分析的主要有點有:(1)加強了對問題域和系統責任的理解;(2)改進與分析有關的各類人員之間的交流;(3)對需求的變化具有較強的適應性;(4)支持軟體復用;(5)貫穿軟體生命周期全過程的一致性;(6)實用性;(7)有利於用戶參與。.....

㈦ 編程中如何理解面向對象

如果你學了匯編,就感覺這個問題輕而易舉了。
因為匯編是面向過程的的編程語言,而c語言等是面向對象的編程。
簡而言之,比如看到了一個蘋果,想吃她,用匯編的話,首先需要尋找蘋果,然後拿起,最後才是吃掉,要計算每個步驟,這就是面向過程的。
而面向對象的編程,就是以結果為導向,比如c++吧,想吃蘋果,拿起來就吃了。
這並不是說面向對象的編程語言就絕對比面向過程的的編程語言高級,只是更加方便了而已,學的時候更加容易了,但計算機畢竟不是人,如果你真正懂了什麼是面向過程的的編程語言,再學面向對象的編程語言輕而易舉。比如,你學匯編後,再學c語言等輕松過關,但反過來,你先學c語言,再學匯編,你感覺很別扭,寸步難行。
這就是編程的並行思維和串列思維,基本上任何編程語言都是串列思維的,但人如果一直在並行思維的話,會學的很快,思維無限延伸。

㈧ 為什麼會有面向對象編程的產生

有了面向對象會顯得邏輯清晰 如果面向過程等你寫個大程序到時候就亂了

㈨ 為什麼要面向對象呢

之前寫過一篇 如果你也是.NET程序員 ,收到不少留言,各種意見都有,之前的說話方式不夠友好,特此向因看過而心生郁悶的人道歉。 這樣就有個問題,比如我自己獨特的結構不也是結構化嗎。Martin Fowler的重構的里有說任何一個傻瓜都能寫成計算機能理解的代碼。唯有寫成人類容易理解的代碼,才是優秀的程序員,代碼如果僅僅給計算機讀那怎麼寫都無所謂,只要是正確的代碼總能執行,但是我們的代碼是需要維護的,一般的代碼更多還是要讓人能輕松的讀懂,所以自己獨特的結構只能自己看。所以話說回來,大家都知道的,比較流行的結構包括但並不限於面向過程和面向對象這兩種方式。 然而就算是面向過程與面向對象這兩種, 就算是其中之一,你堅持了嗎?比如我的代碼到底是面向過程還納猜是面向對象消攜,還是很混亂 就算無所謂,我的代碼能讓人輕松讀懂嗎? 面向過程或者面向對象的代碼就一定方便閱讀嗎?不管出於什麼樣的原因業界流行這樣兩種。先是以C語言為代表的編程語言,以及面向過程的編碼方式,接著後來以java語言為代表,面向對象的編碼方式(我僅僅說的是代表,說的兩個方面), 我們在學校的學習以這些為基礎,工作中必然也是也這些為基礎交流。如果我們堅持面向過程,或者面向對象,就為我們的程序方便閱讀提供了前提。怎樣才能體現面向對象和面向過程這兩種其中之一呢。如果你一直以C語言編程,堅持面向過程編程中的一些原則,那麼今後受過良好面向過程訓練的人就比較容易閱讀你的代碼了不是嗎。如果你以java或者C#編程, 堅持面向對象設計與編碼的一些原則,不是為一個受過良洞橋型好面向對象訓練的人讀懂你的代碼提供了方便嗎? 我為什麼說面向對象呢?我更要時候的是堅持結構化,如果你能寫出優秀的面向過程的設計也很好啊。如果你堅持用C#來做面向過程的開發也行啊,希望下個接替你位置的人也是用C#寫面向過程代碼的人吧。不過更多的是一個用C#寫代碼的人接受的是面向對象方面的訓練。用C也可以寫出面向對象的設計啊,不知道有人看過ooc這本書呢,(這本書里介紹用C語言寫面向對象的代碼,弄的很復雜),應該有很多人不知道用static可以讓一個.c文件的變數,結構和函數變成私有的吧。只是這樣,一個只進行了面向過程訓練的人能輕松看懂用C做的面向對象開發代碼嗎。 所以一個.net小項目就不要面向對象了嗎,說不定哪天因為功能擴展變成大項目了呢,更說不好將來維護的人根本就沒接觸過面向過程,就算一個小項目對他來說面向過程的一些做法也讓他看不到懂呢? 所以我為什麼堅持要讓設計和代碼面向對象呢?因為用.net本是是面向對象的開發庫,而用C#做開發的人很多都是面向對象的程序員,所以為了方便交流我們不是應該盡量用面向對象的思路來做開發嗎?而且面向對象的思路也不僅僅是寫出容易閱讀的代碼,面向對象的各種好處也不需要我說了吧. 從最開始寫機器碼,到匯編,高級語言,再到高級語言中出現面向對象語言。面向對象應該是能解決很多問題才出現的吧。 在這里弱弱反對一下完全貫徹實用就好,能解決問題就行,給錢就行的觀點,軟體工程師總需要有點信仰,有些堅持的吧,如果軟體不僅僅只是你混飯吃的工具的話,而且就算是工具,你也不能讓你的工具隨便讓人動不是嗎。 小小程序員的一點感慨,貽笑大方了。

閱讀全文

與為什麼編程語言引入面向對象思維相關的資料

熱點內容
vba和sql資料庫哪個好 瀏覽:38
u啟王u盤啟動盤製作工具 瀏覽:228
深入理解android網路編程 瀏覽:615
javah無法訪問 瀏覽:11
keyvalue內存資料庫 瀏覽:446
2016年淘寶店鋪裝修教程 瀏覽:394
哪個地區把編程納入高考范圍中了 瀏覽:327
linuxc語言參數 瀏覽:688
win10電腦關機後重啟 瀏覽:747
查公司注冊信息怎麼查app 瀏覽:403
iphone應用程序開網路連接失敗 瀏覽:555
xp電腦沒有運行程序 瀏覽:677
whatsapp在國內能用嗎 瀏覽:976
怎麼恢復空間視頻文件 瀏覽:716
多線程讀一個文件 瀏覽:939
查詢社保繳納情況用什麼app 瀏覽:915
單機象棋代碼 瀏覽:984
程序編程代碼在哪裡 瀏覽:810
編輯pdf掃描文件 瀏覽:651
oracle怎麼建立資料庫 瀏覽:459

友情鏈接