面向過程是一種思想。
強調是動作執行過程
裝修新房:自己裝。執行者
買材料–裝修(改水電,鋪磚,打櫥櫃)–進傢俱。
面向對象是一種思想。
強調是具備動作的事物。
裝修新房:找裝修公司裝。指揮者。
裝修公司具備以下動作功能:
買材料--裝修(改水電,鋪磚,打櫥櫃)--進傢俱。
事物:裝修公司
這兩種思想不是對立的。面向對象是基於面向過程的。
面向對象特徵:
1.封裝
2.繼承
3.多態
萬物皆對象
開發就是不斷創建對象,使用對象,管理對象。
面向對象:
1.基於面向過程的。成熟於面向過程。
2.角色的轉變:執行者-->指揮者
3.簡單化了複雜問題。
///////////////////////
2.類和對象關係???
軟件是爲了方便生活,方便大衆的。一切源於生活。
生活中的事物映射到java中來描述。
先有事物再有類。然後根據類,就會有很多事物。
汽車事物:
屬性:顏色,寬高,流線型,扭矩,幾個缸,多少馬力....
行爲:無人駕駛,導航,播放音樂,....
=====================================================
汽車:
屬性:
顏色-紅色
輪胎數-4
行爲:行駛
映射到java中--類class
java中使用類class描述事物。
類{
成員變量:屬性--數據
成員方法:行爲--方法
}
class Car{
//屬性--數據,類的成員變量
String color = "red"; //紅色
int num = 4; //輪胎數
//行爲--方法,類的成員方法
public void run(){
}
}
上面的類Car,相當於一張汽車的圖紙。描述了n個汽車的共性內容。
簡單說,就是一個模板--類模板。
類,衆多事物的共性內容的抽象描述。
對象,具體的被描述的真正事物。
////////////////////////////////////////////
成員變量和局部變量的區別??
成員變量:
代碼位置:類中方法外。
內存位置:堆中的對象裏。
默認值 :有
生命週期:隨着對象的創建而存在,隨着對象的消失而消失。
局部變量:
代碼位置:方法內
內存位置:桟中
默認值 :沒有
生命週期:隨着方法的加載而出現。方法的釋放而消失