前一次简单说明了一下面向对象编程的概念,今天我们就把这些概念通过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,博客园,感兴趣的小伙伴可以去看相关的其它博文。