程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 面向對象技術的由來

面向對象技術的由來

編輯:關於C語言

隨著計算機硬件技術的飛速發展,計算機的容量、速度迅速提高,計算機取得了越來越廣泛的應用,這就對軟件開發提出了更高的要求。然而軟件技術的進步卻遠遠滯後於硬件技術的進步,人們常常無法控制軟件開發的周期和成本,軟件的質量總是不盡人意,經常是用之不靈、棄之可惜,有的軟件甚至無法交付。這種狀況人們稱之為“軟件危機”。

人們認識到,為了擺脫軟件危機,必須按照工程化的原則和方法來組織軟件開發工作。二十世紀七十年代流行的面向過程的軟件設計方法,目的主要是解決面向過程語言系統的設計問題。它主要強調程序的模塊化和自頂向下的功能分解。在涉及大量計算的算法類問題上,從算法的角度提示事物的特點,面向過程的分割是合適的。但是現在的軟件應用涉及社會生活的方方面面,面對變動的現實世界,面向過程的設計方法暴露出越來越多的不足。例如:

●功能與數據分離,不符合人們對現實世界的認識。要保持功能與數據的相容也十分困難。

●基於模塊的設計方式,導致軟件修改困難。

●自頂向下的設計方法,限制了軟件的可重用性,降低了開發效率,也導致最後開發出來的系統難以維護。

為了解決結構化程序設計的這些問題,面向對象的技術應運而生。它是一種非常強有力的軟件開發方法。它將數據和對數據的操作作為一個相互依賴、不可分割的整體,采用數據抽象和信息隱蔽技術,力圖使對現實世界問題的求解簡單化。它符合人們的思維習慣,同時有助於控制軟件的復雜性,提高軟件的生產效率,從而得到了廣泛的應用,已成為目前最流行的一種軟件開發方法。本文發表於(編程入門網)

這裡我們並不是說面向對象的程序設計方法一定比面向過程的方法或者是其它的程序設計方法要好。每種方法都有自己的一套理論框架,也有相應的設計、分析、建模的方法,所以它們都有各自的優缺點。選擇的依據關鍵是要看目標系統所要解決的是哪種類型的問題。如對於工程計算,面向過程的方法就可能比面向對象的方法更加適合。如果解決邏輯推理、機器證明等人工智能方面的問題,我們可能就需要采用面向邏輯的技術和方法。如果是設計知識庫和專家系統,我們還可以選擇面向規則的程序設計技術。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved