《Java從入門到放棄》JavaSE入門篇:面向對象語法一(入門版)
前一次簡單說明了一下面向對象編程的概念,今天我們就把這些概念通過Java語法來實現,然後看看效果。
來看第一個案例:定義女神類,再根據女神類創建三個女神對象,並使用女神對象的屬性和方法。
第一步:定義女神類(因為Java本身沒有這個類型,所以我們自己創建這個類型)
/** * 女神類 */ public class Goddess { public String name; //姓名 public int age; //年齡 public double stature; //身高 /** * 自我介紹方法 */ public void show(){ System.out.println("我叫"+name+",今年"+age+"歲,身高為"+stature); } }
第二步:創建包含main方法的Test類(main方法相當於程序運行的起始點)
public class Test { public static void main(String[] args) { } }
第三步:在main方法創建三個女神類的對象(因構造方法等還沒學習,所以使用最基本的語法)
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類型的變量就解決問題了,而且屬性都是同名的,也方便記憶和使用。
現在又有新的需求出現!!!
以前所有的都是女神,現在需要再細分為禦姐和萌妹!(聲明:作者不知道這些是什麽意思,都是通過網絡查詢才知道的,作者君是單純的!!!
然後和女神平級的還有女漢子,女漢子又分為學霸和屌絲!
女神和女漢子都是女人!!!
最後最後最後,根據現在變化的需求,我們還要考慮到,以後會不會有更多種類的女神出現?比如女王等,還會不會和女神平級的“恐龍”出現?
這些都是有可能的吧,所以我們就考慮把代碼做如下修改(用到繼承):
女性:
屬性:姓名,年齡,身高
方法:自我介紹()
女神:具有女性的所有行為(方法)和特征(屬性)
特有屬性:顏值
女漢子:具有女性的所有行為(方法)和特征(屬性)
特有屬性:霸氣值
特有方法:狂化()
禦姐:具有女神的所有行為(方法)和特征(屬性)
特有屬性:性感值
萌妹:具有女神的所有行為(方法)和特征(屬性)
特有方法:賣萌()
學霸:具有女漢子的所有行為(方法)和特征(屬性)
特有屬性:悟性
特有方法:打擊學渣()
屌絲:具有女漢子的所有行為(方法)和特征(屬性)
特有方法:摳腳()
我來寫女性、女神和女漢子的代碼,剩下的代碼相信各位看官能夠自己實現了吧。
/** * 女性類 * */ 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關鍵字繼承了女性類。繼承後,女神和女漢子就可以使用女性類中定義的屬性和方法了。
編寫測試類代碼:
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,博客園,感興趣的小夥伴可以去看相關的其它博文。
本文出自 “軟件思維” 博客,請務必保留此出處http://softi.blog.51cto.com/13093971/1962881
《Java從入門到放棄》JavaSE入門篇:面向對象語法一(入門版)