首頁 > 常見問題 > 主體

什麼是物件導向編程

angryTom
發布: 2019-08-12 16:14:59
原創
22917 人瀏覽過

什麼是物件導向編程

  物件導向(Object Oriented,OO)是軟體開發方法。物件導向的概念和應用已超越了程式設計和軟體開發,擴展到如資料庫系統、互動式介面、應用結構、應用平台、分散式系統、網路管理結構、CAD技術、人工智慧等領域。物件導向是一種對現實世界理解和抽象的方法,是電腦程式設計技術發展到一定階段後的產物

推薦教程:java開發教程

概念

⑴物件。

  對像是人們要進行研究的任何事物,從最簡單的整數到複雜的飛機等​​均可看作對象,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。

⑵物件的狀態和行為。

  物件具有狀態,一個物件用資料值來描述它的狀態。

  物件還有操作,用來改變物件的狀態,物件及其操作就是物件的行為。

  物件實現了資料和操作的結合,使資料和操作封裝於物件的統一體中

⑶類別。

  具有相同特性(資料元素)和行為(功能)的物件的抽象就是類別。因此,對象的抽像是類,類的具體化就是對象,也可以說類的實例是對象,類其實就是一種資料型態。

  類別具有屬性,它是物件的狀態的抽象,用資料結構來描述類別的屬性。

  類別具有操作,它是物件的行為的抽象,以操作名稱和實作該操作的方法來描述。

⑷類別的結構。

  在客觀世界中有若干類,這些類別之間有一定的結構關係。通常有兩種主要的結構關係,即一般--具體結構關係,整體--部分結構關係。

  ①一般--具體結構稱為分類結構,也可以說是「或」關係,或是「is a」關係。

  ②整體--部分結構稱為組裝結構,它們之間的關係是一種「與」關係,或是「has a」關係。

⑸訊息和方法。

  物件之間進行通訊的結構叫做訊息。在物件的操作中,當一個訊息傳送給某個物件時,訊息包含接收物件執行某種操作的訊息。發送一則訊息至少要包含說明接受訊息的物件名稱、傳送給該物件的訊息名稱(即物件名稱、方法名稱)。一般也要對參數加以說明,參數可以是認識該訊息的物件所知道的變數名,或是所有物件都知道的全域變數名。

  類別中操作的實作過程叫做方法,一個方法有方法名稱、傳回值、參數、方法體。

特徵

⑴物件唯一性。

  每個物件都有自己唯一的標識,透過這種標識,可以找到對應的物件。在物件的整個生命期中,它的標識都不改變,不同的物件不能有相同的標識。

⑵抽象。

  抽象性是指將具有一致的資料結構(屬性)和行為(操作)的物件抽象化成類別。一個類別就是這樣一種抽象,它反映了與應用相關的重要性質,而忽略其他一些無關內容。任何類別的劃分都是主觀的,但必須與具體的應用有關。

⑶繼承性。

  繼承性是子類別自動共享父類別資料結構和方法的機制,這是類別之間的一種關係。在定義和實作一個類別的時候,可以在一個已經存在的類別的基礎之上來進行,把這個已經存在的類別所定義的內容當作自己的內容,並加入若干新的內容。 

  繼承性是物件導向程式設計語言不同於其它語言的最重要的特點,是其他語言所沒有的。

  在類別層次中,子類別只繼承一個父類別的資料結構和方法,則稱為單重繼承。

  在類別層次中,子類別繼承了多個父類別的資料結構和方法,則稱為多重繼承。

  多重繼承,JAVA、VB、NET、Objective-C皆僅支援單繼承,注意在C 多重繼承時,需小心二義性。

  在軟體開發中,類別的繼承性使所建立的軟體具有開放性、可擴充性,這是資訊組織與分類的行之有效的方法,它簡化了物件、類別的創建工作量,增加了程式碼的可重用性。

  採用繼承性,提供了類別的規範的等級結構。透過類別的繼承關係,使公共的特性能夠共享,提高了軟體的重用性

⑷多態性(多形性)

  多態性是指相同的操作或函數、過程可作用於多種類型的物件上並獲得不同的結果。不同的對象,收到相同訊息可以產生不同的結果,這種現象稱為多態性。

  多態性允許每個物件以適合自身的方式去回應共同的訊息。

  多態性增強了軟體的靈活性和重複使用性。

以上是什麼是物件導向編程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板