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首发:定义三种商品,他们各自具备的对应功能,并使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.