机器人:补充能量(eat) + 工作(work)
人类 :吃饭 (eat)+ 睡觉(sleep) + 工作(work)
猪类:吃饭 (eat)+ 睡觉(sleep)
1)行为抽象类
abstract class Action{
public static final int EAT = 1;
public static final int SELLP = 5;
public static final int WORK = 10;
public void command(int code) {
switch(code) {
case EAT:{
this.eat();
break;
}
case SELLP:{
this.sleep();
break;
}
case WORK:{
this.work();
break;
}
case EAT+SELLP+WORK:{
this.eat();
this.sleep();
this.work();
}
}
}
public abstract void eat();
public abstract void sleep();
public abstract void work();
2)机器人类
class Robot extends Action{
@Override
public void eat() {
System.out.println("机器人正在补充能量!");
}
@Override
public void sleep() {}
@Override
public void work() {
System.out.println("机器人正在工作!");
}
}
3)人类
class Person extends Action{
@Override
public void eat() {
System.out.println("人正在吃饭!");
}
@Override
public void sleep() {
System.out.println("人正在吃饭!");
}
@Override
public void work() {
System.out.println("人正在工作!");
}
}
4)猪类
class Pig extends Action{
@Override
public void eat() {
System.out.println("猪在食槽中吃饲料!");
}
public void sleep() {
System.out.println("猪正在睡觉!");
}
public void work() {}
}