計算機程序設計

巴解組織 - 這是什麼? 面向對象程序設計的基本原則

為什麼面向對象編程中最優先的項目? 巴解組織提供應對其複雜性的有效途徑。 代替考慮的程序作為執行的指令序列的,它代表它作為一組具有特定屬性的對象,並用特定的動作產生它們。 這導致了一個更清晰,更可靠,legkosoprovozhdaemyh應用。

的基本原理的面向對象的編程(OOP)形成,因為限制已經在預先存在的方法被發現了。 其中 - 無限制地訪問數據和大量的鏈接,這對變化作出限制。 他們的重要認識和原因,以了解OOP編程,什麼是它的優勢。

程序語言

C,帕斯卡爾,FORTRAN,和類似語言的程序。 也就是說,每個運營商的告訴計算機做一些事情:得到的數據,加起來的數字,分為六,顯示結果。 附錄程序語言是指令表。 如果是小的,沒有其他的組織原則(通常被稱為範式)不是必需的。 程序員創建的指令列表,以及計算機執行它們。

功能分離

當應用程序變得圈更麻煩名單。 很少有人能理解超過幾百說明的更多,直到他們進行分組。 出於這個原因,該功能是使應用程序更容易理解它的創造者的方式。 在某些語言中,相同的概念可以調用的子程序或程序。

該應用程序被分成功能,每一個都具有一個明確界定的目的和接口。

的程序分離的思想可以擴展為稱為模塊對象的較大分組,但原理是類似的:其攜帶的文檔列表組件的分組。

的功能和模塊分離 - 結構化程序設計的基石,這幾十年,直到巴解組織是它帶來的範例之一。

結構化程序設計問題

隨著應用程序變得越來越大, 結構化編程 開始遇到困難。 項目變得過於複雜。 移動圖形。 它涉及到大量的程序員。 複雜性有所增加。 成本投籃命中率高達,計劃進一步移位,出現了崩潰。

失敗原因分析揭示缺陷的程序範例。 不管如何良好的結構實現的編程方法,大型應用程序變得過於複雜。

什麼是與程序語言相關的這些問題的原因是什麼? 首先,功能無限制地訪問全球的數據。 其次,不相關的程序和壞的價值觀模擬真實世界。

如果我們考慮存貨核算軟件的情況下這些問題,全球的數據中最重要的元素之一是一組的SKU。 不同的功能可以參考他們進入一個新的值,則顯示,變化等等。D.

無限制的訪問

程序寫入,例如,在C,有兩種類型的數據。 地方隱藏在函數中,而不是使用其他程序。

當兩個或多個功能可以訪問相同的數據,後者必須是全球性的。 這樣,例如,都考慮到關於對象的帳戶信息。 全局數據可以是任何可用的程序。

在一個大的程序,有許多功能和許多全球性的元素。 程序範例的問題是,它會導致他們之間的潛在聯繫的一個更大的數字。

如此大量的連接造成一些困難。 首先,它的程序結構的理解變得複雜。 其次,難以改變。 在全球數據項的改變可能需要能夠訪問它的所有功能調節。

例如,在程序中佔有人決定指佔目標代碼應該由不5位數字,並從12這將需要改變 該數據類型 由短到長。 現在與關聯函數代碼必須被修改使用新的格式工作。

當元素在一個更大的應用程序發生變化,很難說有什麼程序訪問它們。 但即使這個數字,更改它們可能會導致與其他全球數據不正確的操作。 一切都與一切連接,所以在一個地方的變化在另一個適得其反。

模擬真實世界

程序模式的第二個也是更重要的問題是,它的位置特定數據和功能不良的模擬了現實世界中的事物。 在這裡,我們正在處理的對象,如人或車。 他們就像沒有數據或者功能。 複雜的現實世界中的對象也有屬性和行為。

屬性

屬性(有時稱為屬性)的人的例子是眼睛的顏色和職位的名稱,對於汽車 - 電源和門的數量。 事實證明,現實世界中的等同於程序中的數據的屬性。 他們有特定的值,如藍(眼睛的顏色),四(門數)。

行為

行為 - 就是現實世界對象在回應一些什麼樣的影響產生的。 如果你問一個老闆加薪,答案是“是”或“否”。 如果你按剎車,車就會停止。 和停止發聲行為就是例子。 類似程序行為:它被稱為做一些事情,而它這樣做。 因此,通過自己的數據和功能沒有模擬現實世界的有效對象。

解決

在OOP對象被表示為一組數據和函數。 只有被稱為在C ++中的成員函數的程序,允許獲得其值。 這些是隱藏的,從改變的保護。 含義和功能封裝成一個。 封裝和upryatyvanie - 在面向對象語言的描述基本條件。

如果你想改變的數據,它知道什麼功能與它們進行交互。 沒有其他程序無法訪問它們。 這簡化了編寫,調試和維護程序。

一個應用程序通常由多個對象,其彼此相互作用,從而引起構件的功能。

目前,使用最廣泛的語言OOP(面向對象編程) - C ++(加上加號)。 在Java中缺少一些功能,如指針,模板和多重繼承,這使得它比C ++更少的強大和靈活。 C#還沒有達到C ++的普及。

應當指出在一些其他面向對象語言C ++調用的方法如Smalltalk即所謂的成員函數。 該數據的項目被稱為屬性。 調用對象的方法正在向他發送消息。

類比

你可以想像,公司部門的對象。 在大多數企業中,員工沒有工作一天攜全體員工,以下濫收費的薪水,然後從事零售業的一個星期。 每個部門都有自己的工作人員,有明確分配的職責。 有自己的數據:工資,銷售,會計人員等,在各部門的人與他們的信息化工作的指標? 公司的劃分,因此,促進了其業務的控制和維護數據的完整性。 會計負責工資。 如果你想知道在七月支付給南支的工資總額,不需要深入到存檔。 這足以一張紙條發送給相關負責人,等到這個人可以訪問數據並發送到所請求的信息的響應。 這確保符合規定並沒有外界的干擾。 以同樣的方式在巴解組織對象提供組織中的應用。

應該記住的是物體的方位並不適用於工作方案的細節。 大多數指令C ++運營商對應於程序語言,如C.事實上,在C中的成員函數++非常類似於在C.功能只有更廣的範圍內將允許以確定是否該指令程序或面向對象的。

在OOP的對象:定義

當考慮面向對象的語言,而不是關於它的劃分問題,為獨立的功能編程的問題是在分離設施的問題。 OOP的思維更容易開發應用程序。 這是由於軟件和真實物體的相似性。

什麼樣的東西是OOP的對象? 下面是一些典型的類別。

在面向對象的物理對象 - 是:

  • 交通流模型;
  • 在電路設計方案的電氣部件;
  • 該國的經濟模式;
  • 飛機在空中交通控制系統。

環境中的用戶的計算機的要素:

  • 菜單;
  • 窗口;
  • 圖形(直線,矩形,圓形);
  • 鍵盤,鼠標,打印機,磁盤驅動器。

人:

  • 工人;
  • 學生;
  • 客戶;
  • 賣家。

信息:

  • 簿記;
  • 私人的事;
  • 字典;
  • 緯度和定居點的經度的表。

現實世界中的通訊對象和巴解組織的功能和數據,他們已經徹底改變了編程相結合的結果。 在程序語言中有這樣一場勢均力敵的比賽。

對象巴解組織 - 類成員。 這是什麼意思? 編程語言都有內置的 數據類型。 類型 INT,T。E.所用C預定的整數++。 你可以聲明任意數量的INT變量。

類似地,多個對象被一個類定義的。 它定義的功能和包含在其設備中的數據,而不是創建它們,以及一個int不產生變量。

類在PLO - 多個類似的對象的描述。 王子,斯汀和麥當娜是歌手。 有沒有這個人的名字,但人們可以調用,所以,如果他們有適當的特性。 OOP對象 - 這個實例。

遺產

在生活中,類分為子類。 例如,動物被分為兩棲類,哺乳類,鳥類,昆蟲等。D.

這種劃分的原則是,每個子類與類從中共同的特點。 所有的汽車有輪子和一個電機。 這是車輛的標誌性特徵。 除了每個子類的一般特徵有其自身的特點。 有許多公交車的座位和卡車有空間來攜帶重物。

類似地,基類可以是其可被定義為使得它們將與除了共享其自身的特點的子類母體幾個衍生物。 繼承像功能,簡化程序的程序。 如果代碼的幾個部分都做得幾乎相同,可以提取的共同要素,並把它們放在一個程序。 三個應用領域可以調用函數來執行常見的操作,但它們可以產生和它自己的業務。 類似地,基類包含共同基團衍生物的信息。 類似的功能可以減少面向對象程序的繼承和澄清其元素的關係。

回收

一旦創建了類和調試,它可以轉移到其他程序員在自己的應用程序重用。 這就像一個函數庫可以包括在不同的應用程序。

在OOP中,繼承是多次使用的理念的延伸。 從現有的類,在不改變它,我們可以形成一個新的使用添加等功能。 重新利用現有軟件的易用性 - 巴解組織的一個重要優勢。 據信,它提供了初始投資的盈利能力增加。

創建新的數據類型

適用於創建新的數據類型的設施。 假設一個程序使用二維值(例如坐標或經度和緯度),並有表達對他們的算術行動的願望:

位置1 =位置+原點,

其中 位置1,位置 和原點-一對獨立的數值。 創建類,其包括這兩個值,並且其對象的變量聲明創建一個新的數據類型。

多態性,重載

在算術運算符使用=(等於),和+(加號)的位置上方不充當以及一個內置類型,如int。 位置和其他目的。不是預先確定的,並通過軟件設置。 這些運營商怎麼知道如何處理他們? 答案就在於這樣一個事實:新的行為可以為他們進行設置。 這些操作會成員函數的階層地位。

使用運算符或程序取決於他們在做什麼叫做多態性。 當有運營商,如+或=,得到機會與新的數據類型的時候,它說,它是超載。 超載巴解組織 - 一種多態性。 這是它的重要特徵。

在巴解組織“傻瓜面向對象程序設計”一書將讓每個人都獲得這一主題更詳細地熟悉。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 zhtw.unansea.com. Theme powered by WordPress.