1. 程式人生 > >《Java從入門到放棄》JavaSE入門篇:面向對象語法一(入門版)

《Java從入門到放棄》JavaSE入門篇:面向對象語法一(入門版)

面向對象 java.javaoop

前一次簡單說明了一下面向對象編程的概念,今天我們就把這些概念通過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入門篇:面向對象語法一(入門版)