面向對象編程的概念
發布時間:2014/6/25 20:41:53 訪問次數:735
在面向對象的編程方法誕生之前,PCF8582C2最流行的編程方法是面向過程的編程方法。面向過程的編程方法在解決一個工程問題時,是按照從頂向下逐步求精的方法把它按照功能劃分為一些層次,每個層次按照完成的任務分解為一些模塊,這些模塊由算法和數據結構組成,然后從最底層的模塊開始編寫代碼。程序按照執行的過程來組織,抽象為順序結構、選擇結構和重復結構3種基本結構。從20世紀70年代以來,這種結構化的,叫做面向過程的
編程方法創造了輝煌的業績,對于信息化社會建設發揮了巨大的作用。這個時期代表性的程序語言是C語言。
但是計算機這個領域的技術人員似乎是最不容易滿足現有技術的群體,隨著對于計算機軟件日益提高的要求,軟件功能越來越復雜、體系越來越龐大,人們開始不斷的發現原有編程方法的種種缺陷,例如模塊的可重用性差、靈活性差、不便于擴展、程序結構不符合實際事務結構等,
于是誕生了新的面向對象的編程方法(Object Oriented Programming,OOP)。面向對象的編程方法將問題分解為一系列稱為“對象”的實體,以對象為基礎組織程序,對象內封裝了屬性和方法。每個對象都能夠接收信息、處理數據和向其他對象發送信息。對象之間的通信采用消息( Message)。具有相同的屬性和方法的對象的集合用“類(Class)”來描述,類定義了該集合中每個對象所共有的屬性和方法;而對象是類的實例。屬性用數據描述,方法是對于數據的操作。通過對類的繼承可以產生新的類。類和對象的概念容易與現實世界的實體對應,因而更容易理解需求,使用戶和分析者之間可以很好地溝通。C++語言是從面向過程到面向對象的編程方法過渡的代表。
為了便于讀者理解面向對象編程的概念,并且考慮到概念與編程方法的對應,我們舉一個簡單的例子,如圖6-1所示。某廠生產傳感器,需要對傳感器進行出廠檢驗。我們把傳感器定義為一個類,這個類的屬性有“編號”、“等級”等,每一個具體的傳感器就是一個對象。傳感器類的編號屬性用字符來描述,等級屬性用數字來描述。對編號的操作是按照順序編排一個號碼,對等級的操作是按照檢驗得到的誤差削分一個等級。所以有兩個方法“排序”和“評定”。
在面向對象的編程方法誕生之前,PCF8582C2最流行的編程方法是面向過程的編程方法。面向過程的編程方法在解決一個工程問題時,是按照從頂向下逐步求精的方法把它按照功能劃分為一些層次,每個層次按照完成的任務分解為一些模塊,這些模塊由算法和數據結構組成,然后從最底層的模塊開始編寫代碼。程序按照執行的過程來組織,抽象為順序結構、選擇結構和重復結構3種基本結構。從20世紀70年代以來,這種結構化的,叫做面向過程的
編程方法創造了輝煌的業績,對于信息化社會建設發揮了巨大的作用。這個時期代表性的程序語言是C語言。
但是計算機這個領域的技術人員似乎是最不容易滿足現有技術的群體,隨著對于計算機軟件日益提高的要求,軟件功能越來越復雜、體系越來越龐大,人們開始不斷的發現原有編程方法的種種缺陷,例如模塊的可重用性差、靈活性差、不便于擴展、程序結構不符合實際事務結構等,
于是誕生了新的面向對象的編程方法(Object Oriented Programming,OOP)。面向對象的編程方法將問題分解為一系列稱為“對象”的實體,以對象為基礎組織程序,對象內封裝了屬性和方法。每個對象都能夠接收信息、處理數據和向其他對象發送信息。對象之間的通信采用消息( Message)。具有相同的屬性和方法的對象的集合用“類(Class)”來描述,類定義了該集合中每個對象所共有的屬性和方法;而對象是類的實例。屬性用數據描述,方法是對于數據的操作。通過對類的繼承可以產生新的類。類和對象的概念容易與現實世界的實體對應,因而更容易理解需求,使用戶和分析者之間可以很好地溝通。C++語言是從面向過程到面向對象的編程方法過渡的代表。
為了便于讀者理解面向對象編程的概念,并且考慮到概念與編程方法的對應,我們舉一個簡單的例子,如圖6-1所示。某廠生產傳感器,需要對傳感器進行出廠檢驗。我們把傳感器定義為一個類,這個類的屬性有“編號”、“等級”等,每一個具體的傳感器就是一個對象。傳感器類的編號屬性用字符來描述,等級屬性用數字來描述。對編號的操作是按照順序編排一個號碼,對等級的操作是按照檢驗得到的誤差削分一個等級。所以有兩個方法“排序”和“評定”。