彦舜原创,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:
		
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章