《Java从入门到放弃》JavaSE入门篇:面向对象语法一(入门版)


前一次简单说明了一下面向对象编程的概念,今天我们就把这些概念通过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();
         
     }
}

运行结果:

wKioL1muSWSSrOpxAAAlkaUpMFQ112.png

 

看语法是不是很简单!!!如果不使用面向对象的方式,那我们name要定义三个变量,age或定义三个变量,stature也要三个变量,一共要九个变量,而现在只需要三个Goddess类型的变量就解决问题了,而且属性都是同名的,也方便记忆和使用。

 

现在又有新的需求出现!!!

 


 

以前所有的都是女神,现在需要再细分为御姐和萌妹!(声明:作者不知道这些是什么意思,都是通过网络查询才知道的,作者君是单纯的!!!)

然后和女神平级的还有女汉子,女汉子又分为学霸和屌丝!

女神和女汉子都是女人!!!

wKioL1muTwewewmDAAIJpA8VcBA875.png


最后最后最后,根据现在变化的需求,我们还要考虑到,以后会不会有更多种类的女神出现?比如女王等,还会不会和女神平级的“恐龙”出现?

这些都是有可能的吧,所以我们就考虑把代码做如下修改(用到继承):

wKiom1muUV7B6j_CAAA2Mh3Ipms158.png

女性:

    属性:姓名,年龄,身高

    方法:自我介绍()

女神:具有女性的所有行为(方法)和特征(属性)

    特有属性:颜值

女汉子:具有女性的所有行为(方法)和特征(属性)

    特有属性:霸气值

    特有方法:狂化()

御姐:具有女神的所有行为(方法)和特征(属性)

    特有属性:性感值

萌妹:具有女神的所有行为(方法)和特征(属性)

    特有方法:卖萌()

学霸:具有女汉子的所有行为(方法)和特征(属性)

    特有属性:悟性

    特有方法:打击学渣()

屌丝:具有女汉子的所有行为(方法)和特征(属性)

    特有方法:抠脚()


我来写女性、女神和女汉子的代码,剩下的代码相信各位看官能够自己实现了吧。

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(); //调用自已特有的方法
         
     }
}

运行结果:

wKiom1muaJLyWQa4AAAmw2irQC8560.png

 

至于封装和多态,我们留到下一篇再来介绍吧。j_0028.gif

 

“软件思维”博客地址:51CTO博客园,感兴趣的小伙伴可以去看相关的其它博文。  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM