⑴ 面向對象的優缺點

說幾個主要的:

優:
(1)是一種全新的系統分析設計方法(對象、類、結構屬性、方法)
(2)適用於各類信息系統的開發
(3)實現了對客觀世界描述到軟體結構的直接轉換 ,大大減少後續軟體開發量。
(4)開發工作的重用性、繼承性高,降低重復工作量。
(5)縮短了開發周期。
(這幾點是網上復制的)

缺點也很明顯。
類和繼承等特點使得程序會多很多指針操作來定位函數入口和自身要維護虛擬方法表等額外的工作,程序的處理效率相對要低(但程序開發效率高)。所以現在單純的C語言還是大為用武之地的。
但隨著科技的進步,CPU和內存的性能也突發猛進。由原來的1核到8核,內存16M和現在的16G,所以程序的效率多多少少會隨著硬體的性能變得更好。你可以發現很多大的項目也開始由C轉而變成讓c++和JAVA等面向對象來寫了。

⑵ 面向對象程序設計的優點是什麼

1、維護簡單
面向對象程序設計的一個特徵就是模塊化。實體可以被表示為類以及同一名字空間中具有相同功能的類,可以在名字空間中添加一個類而不影響該名字空間的其他成員。這種特徵為程序的維護提供了便捷性。


2、可擴充性
如果有一個具有某一種功能的類,就可以擴充這個類,創建一個具有擴充功能的類。


3、代碼重用
功能是被封裝在類中的,類是作為一個獨立實體而存在的,因此可以很簡單的提供類庫,使代碼得以重復使用。

(2)面向對象開發方法的優缺點擴展閱讀

面向對象程序設計(Object Oriented Programming)作為一種新方法,其本質是以建立模型體現出來的抽象思維過程和面向對象的方法。模型是用來反映現實世界中事物特徵的。任何一個模型都不可能反映客觀事物的一切具體特徵,只能對事物特徵和變化規律的一種抽象,且在它所涉及的范圍內更普遍、更集中、更深刻地描述客體的特徵。通過建立模型而達到的抽象是人們對客體認識的深化。

⑶ 面向過程與面向對象各自的優缺點

不太同意樓上觀點。一定程度上兩者的試用地方不同

對面向對象來說幾個主要的:

優:
(1)是一種全新的系統分析設計方法(對象、類、結構屬性、方法)
(2)適用於各類信息系統的開發。
(3)實現了對客觀世界描述到軟體結構的直接轉換 ,大大減少後續軟體開發量。
(4)開發工作的重用性、繼承性高,降低重復工作量。
(5)縮短了開發周期。
(這幾點是網上復制的)

缺點也很明顯。
類和繼承等特點使得程序會多很多指針操作來定位函數入口和自身要維護虛擬方法表等額外的工作,程序的處理效率相對要低(換來的是開發效率高)。所以現在單純的C語言還是大為用武之地的。 如驅動程序開發,或與硬體聯系很緊密的東西,單片機等。基本不會用高等的面向對象語言。
但隨著科技的進步,CPU和內存的性能也突發猛進。由原來的1核到8核,內存16M和現在的16G,所以程序的效率多多少少會隨著硬體的性能變得更好。你可以發現很多大的項目也開始由C轉而變成讓c++和JAVA等面向對象來寫了。
當然核心和底層的東西基本都不會用面向對象語言來寫的。

⑷ 面向對象編程的優點和缺點分別是什麼

使用面向對象思想進行開發有以下優點:
1、易維護
採用面向對象思想設計的結構,可讀性高,由於繼承的存在,即使改變需求,那麼維護也只是在局部模塊,所以維護起來是非常方便和較低成本的。
2、質量高
在設計時,可重用現有的,在以前的項目的領域中已被測試過的類使系統滿足業務需求並具有較高的質量。
3、效率高
在軟體開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近於日常生活和自然的思考方式,勢必提高軟體開發的效率和質量。
4、易擴展
由於繼承、封裝、多態的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴展,而且成本較低。
缺點:

1.性能損失.面向對象編程達到了軟體工程的三個主要目標:重用性、靈活性和擴展性,相對的為了實現相應的目標, 就會有一定的性能損失,如果程序進行超大規模計算,則性能損失就比較明顯;
2.對數學運算等對象化很弱的編程不適用;

⑸ 簡答:簡述面向對象軟體開發方法的基本概念和優點.

基本概念:
談到面向對象,這方面的文章非常多。但是,明確地給出對象的定義或說明對象的定義的非常少——至少我現在還沒有發現。起初,「面向對象」是專指在程序設計中採用封裝、繼承、多態等設計方法。可是,這個定義顯然不能再適合現在情況。面向對象的思想已經涉及到軟體開發的各個方面。如,面向對象的分析(OOA,Object Oriented Analysis),面向對象的設計(OOD,Object Oriented Design)、以及我們經常說的面向對象的編程實現(OOP,Object Oriented Programming)。許多有關面向對象的文章都只是講述在面向對象的開發中所需要注意的問題或所採用的比較好的設計方法。看這些文章只有真正懂得什麼是對象,什麼是面向對象,才能最大程度地對自己有所裨益。這一點,恐怕對初學者甚至是從事相關工作多年的人員也會對它們的概念模糊不清。面向對象的分析根據抽象關鍵的問題域來分解系統。面向對象的設計是一種提供符號設計系統的面向對象的實現過程,它用非常接近實際領域術語的方法把系統構造成「現實世界」的對象。

優點:
1)近代的軟體產業發展非常的迅速,但是卻出現了讓軟體開發人員越來越不能忽視的危機,比如,軟體的開發成本,尤其是大型軟體開發成本、軟體維護升級等費用非常的昂貴,針對出現的危機,人們提出了能夠提高代碼復用等的面向對象技術,面向對象技術的提出可以使客戶於軟體開發人員、軟體開發人員之間的交流更加的順暢,原因在於:首先,面向對象技術通常對現實世界的對象進行抽象,這種抽象使得即是非專業人員也能明軟體要做什麼,使得客戶於專業的軟體開發人員交流起來更加順暢,節約開發成本;其次,面向對象技術通常會採用封裝,繼承等技術,這些技術會使得不同的程序模塊之間的關聯度減小,可以使得開發人員專注於程序的研發,而不是把大量的精力都放到各個模塊的協調上。
2)並不是說我們利用了面向對象的語言,比如C++、JAVA,面向對象技術的好處就會出現,實際上在小的程序設計上,可能根本不需要這么復雜。真正的大型軟體開發用到時需要採用相應的技術方法,不斷的優化,比如瀑布模型法,快速原型法。瀑布模型法主要是把軟體分為若干階段,在每一個階段,都充分的和客戶交流;快速模型法主要是首先提出一個總的模型提交給客戶,然後在不斷的修改,通常這種方法只適用於較小的工程。無論採用那種方法我們可以遵從一個原則:就是把大的軟體項目不斷的細化,最後細化到一個個小函數,然後在根據之間的關系封裝等。

⑹ ooa試述傳統的開發方法與面向對象的開發方法各有哪些優缺點

談到面向對象,這方面的文章非常多。但是,明確地給出對象的定義或說明對象的定義的非常少——至少我現在還沒有發現。其初,「面向對象」是專指在程序設計中採用封裝、繼承、抽象等設計方法。可是,這個定義顯然不能再適合現在情況。面向對象的思想已經涉及到軟體開發的各個方面。如,面向對象的分析(OOA,Object Oriented Analysis),面向對象的設計(OOD,Object Oriented Design)、以及我們經常說的面向對象的編程實現(OOP,Object Oriented Programming)。許多有關面向對象的文章都只是講述在面向對象的開發中所需要注意的問題或所採用的比較好的設計方法。看這些文章只有真正懂得什麼是對象,什麼是面向對象,才能最大程度地對自己有所裨益。這一點,恐怕對初學者甚至是從事相關工作多年的人員也會對它們的概念模糊不清。面向對象是當前計算機界關心的重點,它是90年代軟體開發方法

⑺ 結構化系統開發方法,原型法和面向對象開發方法的優缺點和適用場合

1、結構化系統開發方法(亦稱「生命周期法」)
(1)優點:從系統整體出發,強調在整體優化的條件下「自上而下」地分析和設計,保證了系統的整體性和目標的一致性;遵循用戶至上原則;嚴格區分系統開發的階段性;每一階段的工作成果是下一階段的依據,便於系統開發的管理和控制;文檔規范化,按工程標准建立標准化的文檔資料。
(2)缺點:用戶素質或系統分析員和管理者之間的溝通問題;開發周期長,難於適應環境變化;結構化程度較低的系統,在開發初期難以鎖定功能要求。
(3)適用范圍:主要適用於規模較大、結構化程度較高的系統的開發

2、原型法
(1)優點:符合人們認識事物的規律,系統開發循序漸進,反復修改,確保較好的用戶滿意度;開發周期短,費用相對少;由於有用戶的直接參與,系統更加貼近實際;易學易用,減少用戶的培訓時間;應變能力強。
(2)缺點:不適合大規模系統的開發;開發過程管理要求高,整個開發過程要經過「修改—評價—再修改」的多次反復;用戶過早看到系統原型,誤認為系統就是就是這個模樣,易使用戶失去信心;開發人員易將原型取代系統分析;缺乏規范化的文檔資料
(3)適用范圍:處理過程明確、簡單系統;涉及面窄的小型系統
不適合於:大型、復雜系統,難以模擬;存在大量運算、邏輯性強的處理系統;管理基礎工作不完善、處理過程不規范;大量批處理系統

3、面向對象開發方法
(1)優點:a、分析、設計中的對象和軟體中的對象的一致性
b、實現軟體復用,簡化程序設計
c、系統易於維護
d、縮短開發周期
(2)缺點:不易於大系統的開發

⑻ 與傳統開發方法相比,面向對象方法有什麼優點

1、強調從現實世界中客觀存在的事物(對象)出發來認識問題域和構造系統,使系統能更准確地反映問題域。

2、運用人類日常的思維方法和原則(體現於OO方法的抽象、分類、繼承、封裝、消息等基本原則)進行系統開發,有利於發揮人類的思維能力,有效控制系統復雜性。

3、對象的概念貫穿於開發全過程,使各個開發階段的系統成分具有良好的對應關系,顯著提高系統的開發效率與質量,並大大降低系統維護的難度。

4、對象概念的一致性,使參與系統開發的各類人員在開發的各階段具有共同語言,有效地改善了人員之間的交流和協作。

5、對象的相對穩定性和對易變因素隔離,增強了系統對環境的適應能力。

6、對象、類之間的繼承關系和對象的相對獨立性,對軟體復用提供了強有力的支持。

(8)面向對象開發方法的優缺點擴展閱讀:

在面向對象程序設計中,類作為一個獨立的單位,它有一個類名,其內部包括成員變數,用於描述對象的屬性;還包括類的成員方法,用於描述對象的行為。

在Java程序設計中,類被認為是一種抽象數據類型,這種數據類型,不但包括數據,還包括方法。這大大地擴充了數據類型的概念。

⑼ 面向對象框架開發有什麼優點和缺點盡量詳細點啊。。。謝謝

使用面向對象思想進行開發有以下優點:
1、易維護
採用面向對象思想設計的結構,可讀性高,由於繼承的存在,即使改變需求,那麼維護也只是在局部模塊,所以維護起來是非常方便和較低成本的。
2、質量高
在設計時,可重用現有的,在以前的項目的領域中已被測試過的類使系統滿足業務需求並具有較高的質量。
3、效率高
在軟體開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近於日常生活和自然的思考方式,勢必提高軟體開發的效率和質量。
4、易擴展
由於繼承、封裝、多態的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴展,而且成本較低。

七、面向對象的語言(產品)
面向對象的語言應該具備的特徵:
1.用對象而非過程(功能或演算法)作為程序設計的基本邏輯構件;
2.每個對象屬於應該類(型),並為該類的一個實例;
3.一個類可繼承其它類的性質。
面向對象的語言有:
1.SmallTalk-76,80,(80年代下半葉)

2.Actor(80年代下半葉)
3.C++,Objective-C (20世紀80年代下半葉)
4.Object Pascal, Object-Oriented Turbo Pascal,Apple ObjectPascal (80年代初開始)
5.Eiffel (80年代上半葉)

6.Ada9X
但Microsoft Visual C++, Boland C++等都屬於混合型面向對象的語言,因為它們是在原來的過程語言的基礎上發展起來的,都保留了原來的數據類型,如整數、浮點數、字元以及記錄等。

幾個有代表性的商品軟體
Microsoft Visual Basic先從軟體的可視化、速成化和組件化開始的,這3化已經開始或正在形成信息與軟體工藝的主流之一。
Bland Delphi是組件軟體和復合文書工藝的軟體。它包含面向對象Pascal的編輯程序、查錯程序、可視研製環境和工具、強大的資料庫存取(BDE-Database Engine)工具;它用Object Pascal做情節描述語言。
Optima++ Developer 是Sybase/Powersoft出版的可視化、速成化的研製工具。它是採用C++的一種純可視編輯工具,用拖扔編程技術,從一組標準的和可增的控制項制模板中拖出組件,將其扔進應用圖表中去,並編輯其性質。它可在Windows 9X和NT下運行,它不僅是一個GUI(圖形用戶介面)建造程序,而且還是一個C/S(客戶/伺服器)資料庫構造工具。
IBM的VisualAge(SmallTalk版),用一套圖標來代表應用組件(對象),並提供許多標准函數(常式)、部件,供GUI配置關系資料庫存取、通信、等之用。
用戶編程時,只需用滑鼠把要用的部件(圖標)拖扔到屏幕中的工作面內,按要求設置這些圖標的預設項和參數值,再把這些圖標用線段連接起來,表示它們之間的關系和交互操作,並最後加以測試。在組裝過程中,要添加復雜的計算/控制項流,可用VisualAge的描述語言(Scripting Language-一種4GL)來編寫。如果這還不行,VisualAge則提供SmallTalk編輯環境,以添加所需的語句。
Digitalk(現叫ParcPlace-Digitalk)的Visual Smalltalk提供組件組裝的可視研製環境和工具,用拖扔手段,可視地把組件組裝成一個軟體(程序),它還能自建新的組件。它最適宜研製軟體雛形的OO程序設計語言。應用完成之後,使用Digitalk Smalltalk編譯程序編譯,其計算效率據稱可增加25%,GUI效率增加了100%。
Prograph CPX(跨平台)將程序面向對象結構的可視化方面做得較突出:
-它用圖標代表一個軟體的組成部分,對象、類、組件全部可視化;
-全套圖標都用多面體圖標,如類具有「 方法」面和「 屬性」面;
-能對圖標加以注釋,對象和類關系可用線段表示;
-通過工具可方便地將方法加入Tools菜單;
-既有解釋程序、又有編譯程序,可解除解釋程序速度慢的問題。

八、OO方法特點和優缺點

1.特點

(1)利用特定軟體直接從對象客體的描述到軟體結構的轉換。

(2)解決了傳統結構化方法中客觀世界描述工具與軟體結構的不一致性。

(3)減少了從系統分析、設計到軟體模塊結構之間的多次轉換映射的繁雜過程。

2.OO方法優缺點

優點:

(1)是一種全新的系統分析設計方法(對象、類、結構屬性、方法)。

(2)適用於各類信息系統的開發。

(3)實現了對客觀世界描述到軟體結構的直接轉換 ,大大減少後續軟體開發量。

(4)開發工作的重用性、繼承性高,降低重復工作量。

(5)縮短了開發周期。

缺點:

(1)需要一定的軟體支持環境。

(2)不太適宜大型的MIS開發,若缺乏整體系統設計劃分,易造成系統結構不合理、各部分關系失調等問題。

(3)只能在現有業務基礎上進行分類整理,不能從科學管理角度進行理順和優化。

(4)初學者不易接受、難學。

面向對象方法學把分析、設計和實現很自然地聯系在一起了。雖然面向對象設計原則上不依賴於特定的實現環境,但是實現結果和實現成本卻在很大程度上取決於實現環境。因此,直接支持面向對象設計範式的面向對象程序語言、開發環境及類庫,對於面向對象實現來說是非常重要的。

為了把面向對象設計結果順利地轉變成面向對象程序,首先應該選擇一種適當的程序設計語言。面向對象的程序設計語言適合用來實現面向對象設計結果。事實上,具有方便的開發環境和豐富的類庫的面向對象程序設計語言,是實現面向對象設計的最佳選擇。

良好的程序設計風格對於面向對象實現來說格外重要。它既包括傳統的程序設計風格准則,也包括與面向對象方法的特點相適應的一些新准則。

面向對象方法學使用獨特的概念和完成軟體開發工作,因此,在測試面向對象程序的時候,除了繼承傳統的測試技術之外,還必須研究與面向對象程序特點相適應的新的測試技術。在這方面需要做的研究工作還很多,目前已逐漸成為國內外軟體工程界研究的一個新的熱門課題。