1. 程式人生 > >028_面向物件_01_面向過程和麵向物件的本質區別

028_面向物件_01_面向過程和麵向物件的本質區別

一、本質

  a)面向過程(Procedure Oriented):是一種以過程為中心的程式設計思想。這些都是以什麼正在發生為主要目標進行程式設計,不同於面向物件的是誰在受影響。與面向物件明顯的不同就是封裝、繼承、類。

  b)面向物件(Object Oriented,OO):是軟體開發方法。面向物件的概念和應用已超越了程式設計和軟體開發,擴充套件到如資料庫系統、互動式介面、應用結構、應用平臺、分散式系統、網路管理結構、CAD技術、人工智慧等領域。面向物件是一種對現實世界理解和抽象的方法,是計算機程式設計技術發展到一定階段後的產物。

二、區別

  a)面向過程主要以過程為中心、而面向物件主要是事物為中心

  b)面向過程用於解決一些比較簡單的、而面向物件更適用於解決比較複雜的

  c)面向過程其實是最為實際的一種思考方式,就算是面向物件的方法也是含有面向過程的思想。可以說面向過程是一種基礎的方法。它考慮的是實際地實現。一般的面向過程是從上往下步步求精,所以面向過程最重要的是模組化的思想方法。對比面向過程,面向對 象的方法主要是把事物給物件化,物件包括屬性與行為。當程式規模不是很大時,面向過程的方法還會體現出一種優勢。因為程式的流程很清楚,按著模組與函式的方法可以很好的組織。比如拿學生早上起來這件事說明面向過程,粗略的可以將過程擬為:

    (1)起床
    (2)穿衣
    (3)洗臉刷牙

    (4)吃早餐

    (5)去學校
   而這5步就是一步一步地完成,它的順序很重要,你只需要一個一個地實現就行了。而如果是用面向物件的方法的話,可能就只抽象出一個學生的類,它包括這五個方法,但是具體的順序就不一定按照原來的順序。