前一次簡單說明了一下面向對象編程的概念,今天我們就把這些概念通過Java語法來實現,然后看看效果。
來看第一個案例:定義女神類,再根據女神類創建三個女神對象,並使用女神對象的屬性和方法。
第一步:定義女神類(因為Java本身沒有這個類型,所以我們自己創建這個類型)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
/**
* 女神類
*/
public
class
Goddess {
public
String name;
//姓名
public
int
age;
//年齡
public
double
stature;
//身高
/**
* 自我介紹方法
*/
public
void
show(){
System.out.println(
"我叫"
+name+
",今年"
+age+
"歲,身高為"
+stature);
}
}
|
第二步:創建包含main方法的Test類(main方法相當於程序運行的起始點)
1
2
3
4
5
|
public
class
Test {
public
static
void
main(String[] args) {
}
}
|
第三步:在main方法創建三個女神類的對象(因構造方法等還沒學習,所以使用最基本的語法)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
public
class
Test {
public
static
void
main(String[] args) {
//創建三個女神類型的對象
Goddess lin =
new
Goddess();
Goddess chang =
new
Goddess();
Goddess jia =
new
Goddess();
//使用對象的屬性
lin.name =
"林志玲"
;
lin.age =
43
;
lin.stature =
1.73
;
chang.name =
"蒼井空"
;
chang.age =
34
;
chang.stature =
1.55
;
jia.name =
"賈玲"
;
jia.age =
35
;
jia.stature =
1.66
;
//調用對象的方法
lin.show();
chang.show();
jia.show();
}
}
|
運行結果:
看語法是不是很簡單!!!如果不使用面向對象的方式,那我們name要定義三個變量,age或定義三個變量,stature也要三個變量,一共要九個變量,而現在只需要三個Goddess類型的變量就解決問題了,而且屬性都是同名的,也方便記憶和使用。
現在又有新的需求出現!!!
以前所有的都是女神,現在需要再細分為御姐和萌妹!(聲明:作者不知道這些是什么意思,都是通過網絡查詢才知道的,作者君是單純的!!!)
然后和女神平級的還有女漢子,女漢子又分為學霸和屌絲!
女神和女漢子都是女人!!!
最后最后最后,根據現在變化的需求,我們還要考慮到,以后會不會有更多種類的女神出現?比如女王等,還會不會和女神平級的“恐龍”出現?
這些都是有可能的吧,所以我們就考慮把代碼做如下修改(用到繼承):
女性:
屬性:姓名,年齡,身高
方法:自我介紹()
女神:具有女性的所有行為(方法)和特征(屬性)
特有屬性:顏值
女漢子:具有女性的所有行為(方法)和特征(屬性)
特有屬性:霸氣值
特有方法:狂化()
御姐:具有女神的所有行為(方法)和特征(屬性)
特有屬性:性感值
萌妹:具有女神的所有行為(方法)和特征(屬性)
特有方法:賣萌()
學霸:具有女漢子的所有行為(方法)和特征(屬性)
特有屬性:悟性
特有方法:打擊學渣()
屌絲:具有女漢子的所有行為(方法)和特征(屬性)
特有方法:摳腳()
我來寫女性、女神和女漢子的代碼,剩下的代碼相信各位看官能夠自己實現了吧。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/**
* 女性類
*
*/
public
class
Woman {
public
String name;
//姓名
public
int
age;
//年齡
public
double
stature;
//身高
/**
* 自我介紹方法
*/
public
void
show(){
System.out.println(
"我叫"
+name+
",今年"
+age+
"歲,身高為"
+stature+
"米."
);
}
}
/////////////////////////////////////////////////////////////////////////////
/**
* 女神類
* 繼承了Woman類
*/
public
class
Goddess
extends
Woman {
public
int
faceValue;
//顏值
}
/////////////////////////////////////////////////////////////////////////////
/**
* 女漢子類
* 繼承了女性類
*
*/
public
class
GirlMan
extends
Woman {
public
int
domineeringValue;
//霸氣值
public
void
berserker(){
System.out.println(
"霸氣值已充滿,開始狂化中···"
);
}
}
|
三個類定義好了,其中女神和女漢子類使用extends關鍵字繼承了女性類。繼承后,女神和女漢子就可以使用女性類中定義的屬性和方法了。
編寫測試類代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
public
class
Test {
public
static
void
main(String[] args) {
//創建三個女神類型的對象
Goddess lin =
new
Goddess();
//女神對象
GirlMan jia =
new
GirlMan();
//女漢子對象
//使用對象的屬性
lin.name =
"林志玲"
;
lin.age =
43
;
lin.stature =
1.73
;
lin.faceValue =
99
;
//顏值
jia.name =
"賈玲"
;
jia.age =
35
;
jia.stature =
1.66
;
jia.domineeringValue =
95
;
//霸氣值
//調用對象的方法
lin.show();
//調用父類(女性類)的方法
jia.show();
jia.berserker();
//調用自已特有的方法
}
}
|
運行結果:
“軟件思維”博客地址:51CTO,博客園,感興趣的小伙伴可以去看相關的其它博文。