面向對象基本概念

(1)對象。html

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

(2)對象的狀態和行爲。函數

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

  對象還有操做,用於改變對象的狀態,操做就是對象的行爲。設計

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

(3)類。對象

  具備相同或類似性質的對象的抽象就是類。所以,對象的抽象是類,類的具體化就是對象,也能夠說類的實例是對象。繼承

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

類具備操做,它是對象的行爲的抽象,用操做名和實現該操做的方法來描述。開發

(4)類的結構。

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

  ①通常——具體結構稱爲分類結構,也能夠說是「或」關係,或者是「is a」關係。

  ②總體——部分結構稱爲組裝結構,它們之間的關係是一種「與」關係,或者是「has a」關係。

(5)消息和方法。

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

類中操做的實現過程叫作方法,一個方法有方法名、參數、方法體。消息傳遞如圖10-1所示。

2、面向對象的特徵

(1)對象惟一性。

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

(2)分類性。

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

(3)繼承性。

  繼承性是子類自動共享父類數據結構和方法的機制,這是類之間的一種關係。在定義和實現一個類的時候,能夠在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容做爲本身的內容,並加入若干新的內容。

繼承性是面向對象程序設計語言不一樣於其它語言的最重要的特色,是其餘語言所沒有的。

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

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

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

  採用繼承性,提供了類的規範的等級結構。經過類的繼承關係,使公共的特性可以共享,提升了軟件的重用性。

(4)多態性(多形性)

  多態性是指相同的操做或函數、過程可做用於多種類型的對象上並得到不一樣的結果。不一樣的對象,收到同一消息能夠產生不一樣的結果,這種現象稱爲多態性。

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

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

相關文章
相關標籤/搜索