如何培養面向對象的編程思想(轉)


 

 

1.什么是面向對象?

      面向對象是專指在程序設計中采用封裝,繼承,多態和抽象的設計方法。面向對象的程序設計語言必須有描述對象及其相互之間關系的語言成分。這些程序設計語言可分為以下幾類:系統中一切事物皆為對象;對象是屬性及其操作的封裝體;對象可按其性質分類,對象成為類的實例;實例關系和繼承關系是對象之間的靜態關系;消息傳遞是對象之間動態聯系的唯一方式,也是計算的唯一形式;方法是消息的序列。

2.如何理解面向對象?

      從世界觀的角度可以認為:面向對象的基本哲學是認為世界是由各種各樣具有自己的運動規律和內部狀態的對象所組成的;不同對象之間的相互作用和通訊構成了完整的世界。因此人們應當按照現實世界這個本來面貌來理解世界,直接通過對象及其相互關系來反映世界。這樣建立起來的系統才能符合現實世界的本來面目。

  從方法的角度可以認為:面向對象的方法是面向對象的世界觀在開發方法中的直接運用。它強調系統的結構應該直接與現實世界的結構相對應,應該圍繞現實世界中的對象來構造系統,而不是圍繞功能來構造系統。

3.如何培養面向對象的編程思想?

1)理解面向對象的基本概念:

(1)對象

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

(2)對象的狀態和行為

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

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

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

(3)類

具有相同或相似性質的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象。

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

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

(4)類的結構

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

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

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

(5)消息和方法

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

2)理解面向對象的特征:

(1)對象唯一性

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

(2)分類性

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

(3)繼承性

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

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

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

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

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

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

(4)多態性(多形性)

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM