原標題:面向對象方法論總結 & 練習(一)
學習目標
1.面向對象與面向過程
2.類與對象的概念
3.類的定義,對象的創建和使用
4.封裝
5.構造方法
6.方法的重載
內容
1.面向對象與面向過程
為什么會出現面向對象反分析方法?
因為現實世界太復雜多變,面向過程的分析無法滿足.
面向過程:
在面向過程的眼中,世界的一切都不是孤立的,它們相互緊密聯系在一起,缺一不可,相互影響,
相互作用,并形成一個個具有嚴格因果律的小系統;而更多的小系統組成了更大的系統,所有小系統之
間的聯系也是緊密和不可分割的。
面向過程方法認為我們的世界是由一個個相互關聯的小系統組成的,每個小系統都有著明確的開始
和明確的結束,開始和結束之間有著嚴謹的因果關系。只要我們將這個小系統中的每一個步驟和影響這
個小系統走向的所有因素都分析出來,我們就能完全定義這個系統的行為。
通常,面向過程的分析方法是找到過程的起點,然后順藤摸瓜,分析每一個部分,直至達到過程的終
點。這個過程中的每一個部分都是過程鏈上可不分割的一環。
將世界視為過程的這個方法本身蘊含著一個前提假設,即這個過程是穩定的,這樣我們才有分析的
基礎,所有的工作成果都依賴于這個過程的步步分析。同時,這種步步分析的過程分析方法還導致另一
個結果,即過程中的每一步都是預設好的,有著嚴謹的因果關系。
面向對象:
面向對象方法將世界看作一個個相互獨立的對象,相互之間并無因果關系,它們之間平時是“雞犬之
聲相聞,老死不相往來”的。只有在某個外部力量的驅動下,對象之間才會依據某種規律相互傳遞信
息。這些交互構成了這個生動世界的一個“過程”。在沒有外力的情況下,對象則保持著“靜止”的狀態。
面向對象方法和面向過程過程根本的不同,就是不再把世界看作是一個緊密關聯的系統,而是看成一
些相互獨立的小零件,這些零件依據某種規則組織起來,完成一個特定的功能。原來,過程并不是這個
世界的本源,過程是由通過特定規則組織起來的一些對象“表現”出來的.
面向對象三大特征:
封裝
繼承
多態
2.類與對象的概念
類是對具有共性事物的抽象描述,是在概念上的一個描述.
對象就是用來描述客觀事物的一個實體,有一組屬性和方法 構成。
3.類的定義,對象的創建和使用
java中的類分為兩大部分,系統定義的類和用戶自定義的類
類的定義格式如下:
[修飾符] class 類名 {
類成員變量聲明;
類方法聲明;
}
4.封裝
表現:方法就是一個最基本的封裝體,類也是一個封裝體。
特點:隱藏屬性,提供對外訪問的方法
好處:1、提高了代碼的復用性;
2、隱藏了實現細節,但可以對外提供可訪問的方法;
3、提高了安全性.
5.構造方法(Constructor)
構造方法是一種特殊的方法,它是一個與類同名且沒有返回值類型的方法。對象的創建就是通過構造方
法來完成,其功能主要是完成對象的初始化。當類實例化一個對象時會自動調用構造方法。構造方法和其
他方法一樣也可以重載。
注意:
1.構造方法是特殊的成員方法,它與類同名,在對象實例化時由虛擬機自動調用;
2.它沒有返回值類型,也不能有返回值;
3.每個對象在生成時都必須執行構造方法,而且只能執行一次;
4.如果構造方法調用失敗,那么對象也無法創建;
5.在沒有定義構造方法的情況下,類會自動產生一個無參數的默認構造方法,這個默認的構造方法什么
都不做;
6.一旦顯式地定義了構造方法,默認構造方法自動消失;
6.方法的重載(overload)
方法重載是讓類以統一的方式處理不同類型數據的一種手段。Java構造方法的重載就是在類中可以創建
多個構造方法,但具有不同的參數列表(這一點和普通方法的重載是一樣的)。調用時通過傳遞參數的不同來
決定具體使用哪個構造方法.
練習:
1、寫一個傳奇游戲中的豬類,類中有屬性:顏色、個頭、攻擊力、準確度。有一個展示豬信息的方法。再寫一個測試
類,生成一個豬的對象,將此豬的顏色值為“白色”,個頭為5厘米,攻擊力為50點血,準確度為0.8。要求輸出此豬的信息
格式為:一只白色的豬,個頭5厘米,攻擊為為50點血,準確度為0.8,我好怕怕呀
2、定義 computer 計算機類:a、包含屬性:品牌 brand; 型號 type ; 如 INTER i3 INTER i5 AMD六核。。。;產地
madeIn ;價格 price。b、包含方法:public void show(){ }顯示所有的屬性值。c:定義類時就給屬性設置初始值:聯想、
T400 INTER 雙核、中國、7000.00元。d:在測試類中創建對象 并調用show方法顯示信息。e:然后修改這個對象每個屬性
的值:DELL、inter i5、美國、8000.00元。f:再次調用show方法顯示屬性的值。
3、使用JAVA定義學生類Student:
a.要求學生類有姓名、性別、年齡、身高,體重 分數,班級Class等屬性
b.提供:自我介紹顯示所有屬性的值:我是XX班的一名男同學,今年XX歲,身高:XXX,體重XXX,今年考了XX分。
c.提供dining() 吃飯 和walk()走路的方法:吃飯:顯示 我在吃飯, 然后體重增加1;走路:顯示 我在走路,然后體重減
少1。
d. 編寫測試類Teststudent進行測試:創建2個Student對象的對象:stu1 與 stu2,分別為兩個對象的屬性賦值,再分別調用
每個對象 自我介紹的方法 顯示信息。并調用對象的dining(),walk()方法,看看輸出是否正確?返回搜狐,查看更多
責任編輯: