舉個最簡單點的例子來區分 面向過程和物件導向
有一天你想吃魚香肉絲了,怎麼辦呢?你有兩個選擇
1、自己買材料,肉,魚香肉絲調料,蒜薹,胡蘿蔔等等然後切菜切肉,開炒,盛到盤子裡。
2、去飯店,張開嘴:老闆!來乙份魚香肉絲!
看出來區別了嗎?這就是1是面向過程,2是物件導向。
物件導向有什麼優勢呢?首先你不需要知道魚香肉絲是怎麼做的,降低了耦合性。如果你突然不想吃魚香肉絲了,想吃洛陽白菜,對於1你可能不太容易了,還需要重新買菜,買調料什麼的。對於2,太容易了,大喊:老闆!那個魚香肉絲換成洛陽白菜吧,提高了可維護性。總的來說就是降低耦合,提高維護性!
面向過程是具體化的,流程化的,解決乙個問題,你需要一步一步的分析,一步一步的實現。
物件導向是模型化的,你只需抽象出乙個類,這是乙個封閉的盒子,在這裡你擁有資料也擁有解決問題的方法。需要什麼功能直接使用就可以了,不必去一步一步的實現,至於這個功能是如何實現的,管我們什麼事?我們會用就可以了。
物件導向的底層其實還是面向過程,把面向過程抽象成類,然後封裝,方便我們我們使用的就是物件導向了。
面向過程:
優點:效能比物件導向好,因為類呼叫時需要例項化,開銷比較大,比較消耗資源。
缺點:不易維護、不易復用、不易擴充套件.
優點:易維護、易復用、易擴充套件,由於物件導向有封裝、繼承、多型性的特性,可以設計出低耦合的系統,使系統 更加靈活、更加易於維護 .
缺點:效能比面向過程差
JAVA 物件導向
this關鍵字只能在方法內部使用,表示 呼叫方法的那個物件 的引用。this 用於建構函式之間進行相互呼叫。語句只能定義在建構函式的第一行。static 靜態 使用注意事項 1.靜態方法只能訪問靜態成員。非靜態方法可以訪問靜態成員。2.靜態方法中不可以定義this,super關鍵字。因為靜態優先於物...
JAVA 物件導向
定義類的格式 class student 例 public int addnumber int a,int b 注 方法名中的引數int a,int b為區域性變數 類方法中的一類特殊方法 構造方法。構造方法是當用類生成物件時,系統在生成物件的過程中利用的方法。注意 構造方法在生成物件的時候會被呼叫...
Java物件導向
理解物件導向 物件導向是相對面向過程而言 物件導向和面向過程都是一種思想 面向過程 強調的是功能行為 物件導向 將功能封裝進物件,強調具備了功能的兌現 物件導向是局域面向過程的 物件用計算機語言對問題域中事物的描述,物件通過屬性和方法來分別對應事物所具有的靜態屬性和動態屬性 物件導向的特點 是一種復...