1樓:解答助手
物件導向思想設計的結構,可讀性高,由於繼承的存在,即使改變需求,那麼維護也只是在區域性模組,所以維護起來是非常方便和較低成本的。
2、質量高
在設計時,可重用現有的,在以前的專案的領域中已被測試過的類使系統滿足業務需求並具有較高的質量。
3、效率高
在軟體開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近於日常生活和自
物件導向程式設計有哪些基本特徵?
物件導向程式設計的特點和優點
2樓:匿名使用者
物件導向的基本概念
(1)物件。
物件是人們要進行研究的任何事物,從最簡單的整數到複雜的飛機等均可看作物件,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。
(2)物件的狀態和行為。
物件具有狀態,一個物件用資料值來描述它的狀態。
物件還有操作,用於改變物件的狀態,物件及其操作就是物件的行為。
物件實現了資料和操作的結合,使資料和操作封裝於物件的統一體中
(3)類。
具有相同或相似性質的物件的抽象就是類。因此,物件的抽象是類,類的具體化就是物件,也可以說類的例項是物件。
類具有屬性,它是物件的狀態的抽象,用資料結構來描述類的屬性。
類具有操作,它是物件的行為的抽象,用操作名和實現該操作的方法來描述。
(4)類的結構。
在客觀世界中有若干類,這些類之間有一定的結構關係。通常有兩種主要的結構關係,即一般--具體結構關係,整體--部分結構關係。
①一般——具體結構稱為分類結構,也可以說是“或”關係,或者是“is a”關係。
②整體——部分結構稱為組裝結構,它們之間的關係是一種“與”關係,或者是“has a”關係。
(5)訊息和方法。
物件之間進行通訊的結構叫做訊息。在物件的操作中,當一個訊息傳送給某個物件時,訊息包含接收物件去執行某種操作的資訊。傳送一條訊息至少要包括說明接受訊息的物件名、傳送給該物件的訊息名(即物件名、方法名)。
一般還要對引數加以說明,引數可以是認識該訊息的物件所知道的變數名,或者是所有物件都知道的全域性變數名。
類中操作的實現過程叫做方法,一個方法有方法名、引數、方法體
物件導向的特徵
(1)物件唯一性。
每個物件都有自身唯一的標識,通過這種標識,可找到相應的物件。在物件的整個生命期中,它的標識都不改變,不同的物件不能有相同的標識。
(2)分類性。
分類性是指將具有一致的資料結構(屬性)和行為(操作)的物件抽象成類。一個類就是這樣一種抽象,它反映了與應用有關的重要性質,而忽略其他一些無關內容。任何類的劃分都是主觀的,但必須與具體的應用有關。
(3)繼承性。
繼承性是子類自動共享父類資料結構和方法的機制,這是類之間的一種關係。在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,並加入若干新的內容。
繼承性是物件導向程式設計語言不同於其它語言的最重要的特點,是其他語言所沒有的。
在類層次中,子類只繼承一個父類的資料結構和方法,則稱為單重繼承。
在類層次中,子類繼承了多個父類的資料結構和方法,則稱為多重繼承。
在軟體開發中,類的繼承性使所建立的軟體具有開放性、可擴充性,這是資訊組織與分類的行之有效的方法,它簡化了物件、類的建立工作量,增加了**的可重性。
採用繼承性,提供了類的規範的等級結構。通過類的繼承關係,使公共的特效能夠共享,提高了軟體的重用性。
(4)多型性(多形性)
多型性使指相同的操作或函式、過程可作用於多種型別的物件上並獲得不同的結果。不同的物件,收到同一訊息可以產生不同的結果,這種現象稱為多型性。
多型性允許每個物件以適合自身的方式去響應共同的訊息。
多型性增強了軟體的靈活性和重用性。
三、物件導向的要素
(1)抽象。
抽象是指強調實體的本質、內在的屬性。在系統開發中,抽象指的是在決定如何實現物件之前的物件的意義和行為。使用抽象可以儘可能避免過早考慮一些細節。
類實現了物件的資料(即狀態)和行為的抽象。
(2)封裝性(資訊隱藏)。
封裝性是保證軟體部件具有優良的模組性的基礎。
物件導向的類是封裝良好的模組,類定義將其說明(使用者可見的外部介面)與實現(使用者不可見的內部實現)顯式地分開,其內部實現按其具體定義的作用域提供保護。
物件是封裝的最基本單位。封裝防止了程式相互依賴性而帶來的變動影響。物件導向的封裝比傳統語言的封裝更為清晰、更為有力。
(3)共享性
物件導向技術在不同級別上促進了共享
同一類中的共享。同一類中的物件有著相同資料結構。這些物件之間是結構、行為特徵的共享關係。
在同一應用中共享。在同一應用的類層次結構中,存在繼承關係的各相似子類中,存在資料結構和行為的繼承,使各相似子類共享共同的結構和行為。使用繼承來實現**的共享,這也是物件導向的主要優點之一。
在不同應用中共享。物件導向不僅允許在同一應用中共享資訊,而且為未來目標的可重用設計準備了條件。通過類庫這種機制和結構來實現不同應用中的資訊共享。
4.強調物件結構而不是程式結構
3樓:匿名使用者
《管理系統中計算機應用》物件導向程式設計的基本思想是封裝性和可擴充套件性
4樓:手機使用者
你這是在考試撒,
學生時代的問題還真回答不了,
這些東西慢慢體會,
物件導向程式設計的優點是什麼?
5樓:匿名使用者
1、易維護
採用物件導向思想設計的結構,可讀性高,由於繼承的存在,即使改變需求,那麼維護也只是在區域性模組,所以維護起來是非常方便和較低成本的。
2、質量高
在設計時,可重用現有的,在以前的專案的領域中已被測試過的類使系統滿足業務需求並具有較高的質量。
3、效率高
在軟體開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近於日常生活和自然的思考方式,勢必提高軟體開發的效率和質量。
4、易擴充套件
由於繼承、封裝、多型的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴充套件,而且成本較低。
6樓:匿名使用者
序模組化,便於設計和開發因為模組化,便於修改和維護
j**a物件導向程式設計有什麼優缺點
j**a物件導向程式設計有哪些優點?
7樓:匿名使用者
封裝,繼承,多型。
**容易理解和編寫,容易維護和拓展。
8樓:匿名使用者
封裝,繼承,多型,抽象
9樓:異界工程師
方便快捷,有利於擴充套件
物件導向程式設計都有哪些知識,什麼是物件導向程式設計?
封裝,繼承,多型。物件導向的三大特性,深刻理解了這三大特性,就基本上掌握了物件導向程式設計思想的精髓。繼承 多型 虛類 方法 屬性 事件 建構函式 解構函式 過載 公共 私有 委託 介面 好陌生哦 什麼是物件導向程式設計?在我理解,物件導向是向現實世界模型的自然延伸,這是一種 萬物皆物件 的程式設計...
什麼是物件導向的程式設計思想
物件導向 物件導向 object oriented,oo 是當前計算機界關心的重點,它是90年代軟體開發方法的主流。物件導向的概念和應用已超越了程式設計和軟體開發,擴充套件到很寬的範圍。如資料庫系統 互動式介面 應用結構 應用平臺 分散式系統 網路管理結構 cad技術 人工智慧等領域。談到物件導向,...
物件導向的程式設計和C語言的結構化程式設計有什麼不同
永不言棄之神 為什麼叫c,為什麼叫c c是高階語言的一種,c 是對c的補充以及完善。c可以說是程序導向的語言,c 就可以說是面嚮物件語言,對c的完善與擴充。具體來說c 類是對c結構體的擴充,應為c 結構體 struct 和類 class 幾乎完全差不多,只是預設的訪問許可權不同,以及其他細微的差別!...