《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