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:
彥舜原創,CSDN首發:定義三種商品,他們各自具備的對應功能,並使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.