科技生活動態:什么是面向對象編程

導讀跟大家講解下有關什么是面向對象編程,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說什么是面向對象編程,小編也收集到了有

跟大家講解下有關什么是面向對象編程,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說什么是面向對象編程,小編也收集到了有關什么是面向對象編程的相關資料,希望大家看到了會喜歡。

  面向對象(Object Oriented,OO)是軟件開發方法。面向對象的概念和應用已超越了程序設計和軟件開發,擴展到如數據庫系統、交互式界面、應用結構、應用平臺、分布式系統、網絡管理結構、CAD技術、人工智能等領域。面向對象是一種對現實世界理解和抽象的方法,是計算機編程技術發展到一定階段后的產物

推薦教程:java開發教程

概念

⑴對象。

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

⑵對象的狀態和行為。

  對象具有狀態,一個對象用數據值來描述它的狀態。

  對象還有操作,用于改變對象的狀態,對象及其操作就是對象的行為。

  對象實現了數據和操作的結合,使數據和操作封裝于對象的統一體中

⑶類。

  具有相同特性(數據元素)和行為(功能)的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象,類實際上就是一種數據類型。

  類具有屬性,它是對象的狀態的抽象,用數據結構來描述類的屬性。

  類具有操作,它是對象的行為的抽象,用操作名和實現該操作的方法來描述。

⑷類的結構。

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

  ①一般--具體結構稱為分類結構,也可以說是“或”關系,或者是“is a”關系。

  ②整體--部分結構稱為組裝結構,它們之間的關系是一種“與”關系,或者是“has a”關系。

⑸消息和方法。

  對象之間進行通信的結構叫做消息。在對象的操作中,當一個消息發送給某個對象時,消息包含接收對象去執行某種操作的信息。發送一條消息至少要包括說明接受消息的對象名、發送給該對象的消息名(即對象名、方法名)。一般還要對參數加以說明,參數可以是認識該消息的對象所知道的變量名,或者是所有對象都知道的全局變量名。

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

特征

⑴對象唯一性。

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

⑵抽象性。

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

⑶繼承性。

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

  繼承性是面向對象程序設計語言不同于其它語言的最重要的特點,是其他語言所沒有的。

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

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

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

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

  采用繼承性,提供了類的規范的等級結構。通過類的繼承關系,使公共的特性能夠共享,提高了軟件的重用性

⑷多態性(多形性)

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

  多態性允許每個對象以適合自身的方式去響應共同的消息。

  多態性增強了軟件的靈活性和重用性。

以上就是什么是面向對象編程的詳細內容,更多請關注php中文網其它相關文章!

來源:php中文網

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!