當前位置:首頁 » 編程軟體 » 什麼叫面向對象編程

什麼叫面向對象編程

發布時間: 2023-05-12 14:59:49

⑴ 面向對象編程是什麼意思

它是一種編程風格,就是把一切東西看成一個個對象,比如人,車,麵包,等等,然後把這些對象擁有的屬性變數,比如年齡,民族,工作地點,變質期,壽命,還有操作這些屬性變數的函數打包成一個類來表示,這個類的一個抽象就是一個對象,比如人這個類包含一些屬性,比如年齡,名字,住址等,他還有一些對別人告訴這些屬性的功能,比如:說,看,走等!!這就是的面向對象的特點!!!

⑵ 什麼是面向對象的編程語言啊

面向對象語言(Object-Oriented Language)是一類以對象作為基本程序結構單位的程序設計語言。指用於描述的設計是以對象為核心,而對象是程序運行時刻的基本成分。

其特點如下:

(1)任何事物都是對象。

(2)運行期的基本實體,也是一個包括數據和操作這些數據的代碼的邏輯實體。

(3)每個對象可以有自己的內存空間包含其他對象。

(4)類是具有相同類型的對象的抽象。一個對象所包含的所有數據和代碼可以通過類來構造。

(5)程序由一系列的對象組合,它們通過發送消息告訴彼此做什麼。

(6)封裝是將數據和代碼捆綁到一起,避免了外界的干擾和不確定性。

(7)一個特定類型的所有對象都可以接受同樣的消息。

(8)繼承是讓某個類型的對象獲得另一個類型的對象的特徵。

(9)每一個對象都有類型。

(10)多態是指不同事物具有不同表現形式的能力。

注意事項:

Java是一門面向對象編程語言,具有功能強大和簡單易用兩個特徵。

C語言是面向過程的程序設計語言,與C++,Java等面向對象的編程語言有所不同。

VB是一種面向對象的可視化程序設計語言,採取了事件驅動的編程機制。

(2)什麼叫面向對象編程擴展閱讀:

面向對象編程的優點:

易維護 :可讀性高,由於繼承的存在,即使改變需求,那麼維護也只是在局部模塊。

易擴展 :通過繼承,我們可以大幅減少多餘的代碼,並擴展現有代碼的用途;

模塊化 :封裝可以定義對象的屬性和方法的訪問級別,通過不同的訪問修飾符對外暴露安全的介面,防止內部數據在不安全的情況下被修改。

方便建模:很多時候可以使用現實生活中對象的概念抽象後稍作修改來進行建模,極大方便了建模的過程。

⑶ 什麼是面向對象編程

在我理解,面向對象是向現實世界模型的自然延伸,這是一種「萬物皆對象」的編程思想。在現實生活中的任何物體都可以歸為一類事物,而每一個個體都是一類事物的實例。面向對象的編程是以對象為中心,以消息為驅動,所以程序=對象+消息。

面向對象有三大特性,封裝、繼承和多態。

封裝就是將一類事物的屬性和行為抽象成一個類,使其屬性私有化,行為公開化,提高了數據的隱秘性的同時,使代碼模塊化。這樣做使得代碼的復用性更高。

繼承則是進一步將一類事物共有的屬性和行為抽象成一個父類,而每一個子類是一個特殊的父類--有父類的行為和屬性,也有自己特有的行為和屬性。這樣做擴展了已存在的代碼塊,進一步提高了代碼的復用性。

如果說封裝和繼承是為了使代碼重用,那麼多態則是為了實現介面重用。多態的一大作用就是為了解耦--為了解除父子類繼承的耦合度。如果說繼承中父子類的關系式IS-A的關系,那麼介面和實現類之之間的關系式HAS-A。簡單來說,多態就是允許父類引用(或介面)指向子類(或實現類)對象。很多的設計模式都是基於面向對象的多態性設計的。

總結一下,如果說封裝和繼承是面向對象的基礎,那麼多態則是面向對象最精髓的理論。掌握多態必先了解介面,只有充分理解介面才能更好的應用多態。

⑷ 什麼是面向對象編程

它通過給程序中加入擴展語句,把函數「封裝」進編程所必需的「對象」中。面向對象的編程語言使得復雜的工作條理清晰、編寫容易。說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象並不與傳統程序設計和編程方法兼容,只是部分面向對象反而會使情形更糟。除非整個開發環境都是面向對象的,否則對象產生的好處還沒有帶來的麻煩多。有人可能會說PHP不是一個真正的面向對象編程的語言, PHP 是一個混合型 語言,你可以使用面向對象編程,也可以使用傳統的過程化編程。然而,對於大型項目的開發,你可能想需要在PHP中使用純的面向對象編程去聲明類,而且在你的項目開發只用對象和類。隨著項目越來越大,使用面向對象編程可能會有幫助,面向對象編程代碼很容易維護,容易理解和重復使用,這些就是軟體工程的基礎。在基於Web的項目中應用這些概念就成為將來網站成功的關鍵。 對象(Object)是問題域或實現域中某些事物的一個抽象,它反映此事物在系統中需要保存的信息和發揮的作用;它是一組屬性和有權對這些屬性進行操作的一組服務的封裝體。 關於對象要從兩方面理解:一方面指系統所要處理的現實世界中的對象;另一方面對象是計算機不直接處理的對象,而是處理相應的計算機表示,這種計算機表示也稱為對象。簡單的來說,一個人就是一個對象,一個尺子也可以說是個對象。

⑸ 面向對象編程是什麼意思

面向對象編程是以建立模型體現出來的抽象思維過程和面向對象的方法。對象的含義是指具體的某一個事物,即在現實生活中能夠看得見摸得著的事物。

在面向對象程序設計中,對象所指的是計算機系統中的某一個成分。在面向對象程序設計中,對象包含兩個含義,其中一個是數據,另外一個是動作。對象則是數據和動作的結合體。對象不僅能夠進行操作,同時還能夠及時記錄下操作結果。

方法是指對象能夠進行的操作,方法同時還有另外一個名稱,叫做函數。方法是類中的定義函數,其具體的作用就是對對象進行描述操作。

特徵

(1)對象唯一性。

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

(2)抽象性。

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

(3)繼承性。

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

⑹ 什麼是面向對象為什麼要用面向對象的方法來編程

面向對象分析屬於軟體開發過程中的問題定義階段,其目標是清晰、精確地定義問題領域。傳統的系統分析產生一組面向過程的文檔,定義目標系統的功能;面向對象分析則產生一種描述系統功能和問題領域的基本特徵的綜合文檔。 原則 面向對象分析的主要原則如下。 1.抽象 從許多事物中舍棄個別的、非本質的特徵,抽取共同的、本質性的特徵,就叫做抽象。抽象是形成概念的必須手段。 抽象原則有兩方面的意義:第一,盡管問題域中的事物是很復雜的,但是分析員並不需要了解和描述它們的一切,只需要分析研究其中與系統目標有關的事物及其本質性特徵。第二,通過舍棄個體事物在細節上的差異,抽取其共同特徵而得到一批事物的抽象概念。 抽象是面向對象方法中使用最為廣泛的原則。抽象原則包括過程抽象和數據抽象兩個方面。過程抽象是指,任何一個完成確定功能的操作序列,其使用者都可以把它看做一個單一的實體,盡管實際上它可能是由一系列更低級的操作完成的。數據抽象是指根據施加於數據之上的操作來定義數據類型,並限定數據的值只能由這些操作來修改和觀察。數據抽象是面向對象分析的核心原則。它強調把數據(屬性)和操作(服務)結合為一個不可分的系統單位(即對象),對象的外部只需要知道它做什麼,而不必知道它如何做。 2.封裝 封裝就是把對象的屬性和服務結合為一個不可分的系統單位,並盡可能隱蔽對象的內部細節。 3.繼承 特殊類的對象擁有的其一般類的全部屬性與服務,稱作特殊類對一般類的繼承。 在面向對象分析中運用繼承原則,就是在每個由一般類和特殊類形成的一般—特殊結構中,把一般類的對象實例和所有特殊類的對象實例都共同具有的屬性和服務,一次性地在一般類中進行顯式定義。在特殊類中不再重復地定義一般類中已定義的東西,但是在語義上,特殊類卻自動地、隱含地擁有它的一般類(以及所有更上層的一般類)中定義的全部屬性和服務。繼承原則的好處是:使系統模型比較簡練也比較清晰。 4.分類 就是把具有相同屬性和服務的對象劃分為一類,用類作為這些對象的抽象描述。分類原則實際上是抽象原則運用於對象描述時的一種表現形式。 5.聚合 聚合的原則是:把一個復雜的事物看成若干比較簡單的事物的組裝體,從而簡化對復雜事物的描述。 6.關聯 關聯是人類思考問題時經常運用的思想方法:通過一個事物聯想到另外的事物。能使人發生聯想的原因是事物之間確實存在著某些聯系。 7.消息通信 這一原則要求對象之間只能通過消息進行通信,而不允許在對象之外直接地存取對象內部的屬性。通過消息進行通信是由於封裝原則而引起的。在OOA中要求用消息連接表示出對象之間的動態聯系。 8.粒度控制 一般來講,人在面對一個復雜的問題域時,不可能在同一時刻既能縱觀全局,又能洞察秋毫。因此需要控制自己的視野:考慮全局時,注意其大的組成部分,暫時不詳察每一部分的具體的細節;考慮某部分的細節時則暫時撇開其餘的部分。這就是粒度控制原則。 9.行為分析 現實世界中事物的行為是復雜的。由大量的事物所構成的問題域中各種行為往往相互依賴、相互交織。 階段 面向對象分析過程可分為問題領域分析和應用分析兩個階段。 問題領域分析是軟體開發的基本組成部分,目的是使開發人員了解問題領域的結構,建立大致的系統實現環境。問題領域分析給出一組抽象概念(從高層來表示問題領域知識,常常超出當前應用的范圍)作為特定系統需求開發的參考。問題領域分析實際上是一種學習過程。軟體開發人員在這個階段應該盡可能地理解當前系統中與應用有關的知識,應該放開思維,放寬考慮的范圍,盡可能地標識與應用有關的概念。問題領域分析的邊界可能很模糊。有了廣泛的問題領域知識,涉及到具體的應用時,就可以更快地進入狀態,掌握應用的核心知識。而且,在用戶改變對目標系統的需求時,廣泛的分析可以幫助我們預測出目標系統在哪些方面會發生哪些變化。通常進行小組分析,小組成員可以包括領域專家和分析員等。在分析過程中,應該標識出系統的基本概念(對象、類、方法、關系等)、識別問題領域的特徵,並把這些概念集成到問題領域的模型中。問題領域的模型必須包含概念之間的關系,以及每個概念的全部信息。標識出來的相關概念應該根據信息內容來有機地融合到問題領域的綜合視圖中。 應用分析是依據在問題領域分析時建立起來的問題領域模型來進行的。應用分析時,把問題領域模型用於當前特定的應用之中。首先,通過收集到的用戶信息來對問題領域進行取捨,把用戶需求作為限制條件來使用,以縮減問題領域的信息量。因此,問題領域分析的視野大小直接影響到應用分析保留的信息量。一般來說,問題領域分析階段產生的模型並不需要用程序設計語言來表示,而應用分析階段產生的影響條件則需要用某種程序設計語言來表示。模型識別的要求可以針對一個應用,也可以針對多個應用。通常我們著重考慮兩個方面,即應用視圖和類視圖。在類視圖中,必須對每個類的屬性和操作進行細化,並表示出類之間的相互作用關系。 目標 Coad和Yourdon 認為,面向對象分析主要應該考慮與特定應用有關的對象,以及對象之間在結構和相互作用上的關系。在面向對象分析中,需要建立分析模型來描述系統的功能。 面向對象分析需要完成如下兩個任務: — 形式化地說明所面對的應用問題,最終成為軟體系統基本構成的對象,以及系統所必須遵從的、由應用環境所決定的規則和約束條件。 — 明確地規定構成系統的對象如何協同工作和完成指定的功能。 通過面向對象分析所建立的系統模型是以概念為中心的,因此稱為概念模型。概念模型由一組相關的類組成。面向對象分析可以通過自頂向下地逐層分解來建立系統模型,也可以自底向上地從已經定義的類出發,逐步構造新的類。概念模型的構造和評審由如下5個層次構成: — 類和對象層 — 屬性層 — 服務層 — 結構層 — 主題層 這5個層次不是構成軟體系統的層次,而是分析過程中的層次。也可以說是問題的不同側面。每個層次的工作都為系統的規格說明增加了一個組成部分。當5個層次的工作全部完成時,面向對象分析的任務也就完成了。 在實際操作中,面向對象分析的目標是得出問題領域的功能模型、對象模型和動態模型,並用相應的UML圖將它們表示出來。 步驟 面向對象分析通常按照下面的步驟來進行: (1)標識對象和類。可以從應用領域開始,逐步確定形成整個應用的基礎類和對象。這一步需要分析領域中目標系統的責任,調查系統的環境,從而確定對系統有用的類和對象。 (2)標識結構。典型的結構有兩種,即一般—特殊結構和整體—部分結構。一般—特殊結構表示一般類是基類,特殊類是派生類。比如,汽車是轎車和卡車的基類,這是一種一般—特殊結構。整體部分結構表示聚合,由屬於不同類的成員聚合成為新的類。比如,輪子、車體和汽車底盤都是汽車的一部分,這些不同功能的部件聚合成為汽車這個整體。 (3)標識屬性。對象所保存的信息稱為它的屬性。類的屬性描述狀態信息,在類的某個實例中,屬性的值表示該對象的狀態值。需要找出每個對象在目標系統中所需要的屬性,並將屬性安排在適當的位置,找出實例連接,最後再進行檢查。應該給出每個屬性的名字和描述,並指定該屬性所受的特殊限制(如只讀、屬性值限定在某個范圍之內等)。 (4)標識服務。對象收到消息後執行的操作稱為對象提供的服務。它描述了系統需要執行的處理和功能。定義服務的目的是為了定義對象的行為和對象之間的通信。其具體步驟包括: — 標識對象狀態 — 標識必要的服務 — 標識消息連接 — 描述服務 可以用類似於流圖的圖形來表示服務。 (5)標識主題。為了更好地理解包含大量類和對象的概念模型,需要標識主題,即對模型進行劃分,給出模型的整體框架,劃分出層次結構。可以按照如下步驟來標識主題。 — 識別主題 — 對主題進行改進和細化 — 將主題加入到分析模型 主題是一個與應用相關的概念,而不是人為任意引出來的,主題層的工作有助於理解分析的結果。 優點 面向對象分析的主要有點有: (1)加強了對問題域和系統責任的理解; (2)改進與分析有關的各類人員之間的交流; (3)對需求的變化具有較強的適應性; (4)支持軟體復用; (5)貫穿軟體生命周期全過程的一致性; (6)實用性; (7)有利於用戶參與.......

熱點內容
刀片機伺服器ip怎麼配置 發布:2024-05-12 04:28:35 瀏覽:525
存儲系列視頻 發布:2024-05-12 04:01:27 瀏覽:147
oracle資料庫去重 發布:2024-05-12 04:00:53 瀏覽:772
配置減肥餐需要哪些條件 發布:2024-05-12 03:56:36 瀏覽:513
電視節目需要什麼配置電腦 發布:2024-05-12 03:51:26 瀏覽:44
安卓怎麼設置不被攔截 發布:2024-05-12 03:51:26 瀏覽:567
python目錄下的文件名 發布:2024-05-12 03:51:02 瀏覽:103
c語言怎麼編譯輸出滿屏的愛心 發布:2024-05-12 03:39:22 瀏覽:181
androidlistview間距 發布:2024-05-12 03:39:19 瀏覽:3
原配置明信片和加購款有什麼不同 發布:2024-05-12 03:37:56 瀏覽:936