啟達軟件-基于互聯網,致力于企業信息化、ERP、CRM、互聯網+的軟件開發
              啟達軟件
              啟達軟件電話
              技術文章你現的位置:首頁>文章列表>技術文章
              什么是面向對象思想?

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

              簡介

              從現實世界中客觀存在的事物(即對象)出發來構造軟件系統,并在系統構造中盡可能運用人類的自然思維方式,強調直接以問題域(現實世界)中的事物為中心來思考問題,認識問題,并根據這些事物的本質特點,把它們抽象地表示為系統中的對象,作為系統的基本構成單位(而不是用一些與現實世界中的事物相關比較遠,并且沒有對應關系的其它概念來構造系統)。這可以使系統直接地映射問題域,保持問題域中事物及其相互關系的本來面貌。

              理解

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

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

              面向對象

              面向對象(ObjectOriented,OO)是當前計算機界關心的重點,它是90年代軟件開發方法的主流。面向對象的概念和應用已超越了程序設計和軟件開發,擴展到很寬的范圍。如數據庫系統、交互式界面、應用結構、應用平臺、分布式系統、網絡管理結構、CAD技術、人工智能等領域。

              談到面向對象,這方面的文章非常多。但是,明確地給出對象的定義或說明對象的定義的非常少——至少我還沒有發現。起初,“面向對象”是專指在程序設計中采用封裝、繼承、多態和抽象等設計方法?墒,這個定義顯然不能再適合情況。面向對象的思想已經涉及到軟件開發的各個方面。如,面向對象的分析(OOA,ObjectOrientedAnalysis),面向對象的設計(OOD,ObjectOrientedDesign)、以及我們經常說的面向對象的編程實現(OOP,ObjectOrientedProgramming)。許多有關面向對象的文章都只是講述在面向對象的開發中所需要注意的問題或所采用的比較好的設計方法?催@些文章只有真正懂得什么是對象,什么是面向對象,才能最大程度地對自己有所裨益。這一點,恐怕對初學者甚至是從事相關工作多年的人員也會對它們的概念模糊不清。

              存在問題

              1.軟件重用性差

              重用性是指同一事物不經修改或稍加修改就可多次重復使用的性質。軟件重用性是軟件工程追求的目標之一。

              2.軟件可維護性差

              軟件工程強調軟件的可維護性,強調文檔資料的重要性,規定最終的軟件產品應該由完整、一致的配置成分組成。在軟件開發過程中,始終強調軟件的可讀性、可修改性和可測試性是軟件的重要的質量指標。實踐證明,用傳統方法開發出來的軟件,維護時其費用和成本仍然很高,其原因是可修改性差,維護困難,導致可維護性差。

              3.不能滿足用戶需要

              用傳統的結構化方法開發大型軟件系統涉及各種不同領域的知識,在開發需求模糊或需求動態變化的系統時,所開發出的軟件系統往往不能真正滿足用戶的需要。

              用結構化方法開發的軟件,其穩定性、可修改性和可重用性都比較差,這是因為結構化方法的本質是功能分解,從代表目標系統整體功能的單個處理著手,自頂向下不斷把復雜的處理分解為子處理,這樣一層一層的分解下去,直到僅剩下若干個容易實現的子處理功能為止,然后用相應的工具來描述各個最低層的處理。因此,結構化方法是圍繞實現處理功能的“過程”來構造系統的。然而,用戶需求的變化大部分是針對功能的,因此,這種變化對于基于過程的設計來說是災難性的。用這種方法設計出來的系統結構常常是不穩定的,用戶需求的變化往往造成系統結構的較大變化,從而需要花費很大代價才能實現這種變化。

              概念特征

              一、面向對象的基本概念

              (1)對象

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

              (2)對象的狀態和行為

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

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

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

              (3)類

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

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

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

              (4)類的結構

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

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

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

              (5)消息和方法

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

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

              二、面向對象的特征

              (1)對象唯一性

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

              (2)分類性

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

              (3)繼承性

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

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

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

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

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

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

              (4)多態性(多形性)

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

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

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

              啟達互聯  啟達工具  開發框架.pdf  生產行業案例.pdf

              版權所有:合肥啟達信息技術有限公司 備案號:皖ICP備12015909號-6 Copyright 2001-2012 All rights reserved

              国产 日韩 无码 制服 中文_日本三级观看高清免费_亚洲 欧美 校园 春色 小说