彥舜原創,CSDN首發:定義三種商品,他們各自具備的對應功能,並使用

package cm.abstracts.application;

//這個類用來測試使用一個行爲類
public class ModelFfourtySix {
	public static void main(String[] args) {
		//測試使用類,須通過創建對應類對象
		//創建父類(抽象類)對象,必須通過子類對象的向上轉型才能創建
		Action r = new Robot();
		r.command(1);
		r.command(7);
		r.eat();
		r.work();
		
		Action h = new Human();
		h.command(1);
		h.command(7);
		h.command(5);
		h.eat();
		h.work();
		h.sleep();
		
		Action p = new Pig();
		p.command(1);
		p.command(5);
		p.eat();
		p.sleep();
	}
}

//創建抽象類,抽象類必有子類,關鍵字abstract,繼承關係:父類
//定義一個抽象的行爲類,行爲不是具體的
abstract class Action{
	//關鍵字final:不可變的量,即常量。static:三個子類具備共同的屬性,共享變量。
	//常量名大寫,方便與變量進行區分。常量,其值從程序執行一直到結束都不發生改變,是爲常量。
	public static final int EAT = 1;
	public static final int SLEEP = 5;
	public static final int WORK = 7;
	
	//抽象每個子類的行爲(方法),然後每個子類據此定義(覆寫)具體的內容(方法/功能),規定子類的操作標準
	public abstract void eat();
	public abstract void sleep();
	public abstract void work();
	
	//創建一個普通方法,調用抽象類的行爲(抽象方法),行爲不是具體的
	public void command(int flag) {
		switch(flag) {
		case EAT:
		
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章