Java程序精编教程(7.10上机实践)

实验目的

本实验的目的是让学生掌握接口回调和面向接口编程思想

实验要求

小狗在不同的环境下可能呈现不同的状态。要求用接口封装小狗的状态

程序代码

interface DogState {
	public void showState();
}

class SoftlyState implements DogState {
	//重写public void showState()
	public void showState() {
		System.out.println("在主人面前,听主人的命令");
	}
}

class MeetEnemyState implements DogState {
	//重写public void showState()
	public void showState() {
		System.out.println("遇到敌人狂叫,并冲上去咬敌人");
	}
}

class MeetFridendState implements DogState {
	//重写public void showState()
	public void showState() {
		System.out.println("遇到朋友晃动尾巴,表示欢迎");
	}
}

class MeetAnotherDog implements DogState {
	//重写public void showState()
	public void showState() {
		System.out.println("嬉戏");
	}
}

class Dog{
	DogState state;
	public void cry() {
		state.showState();
	}
	public void setState(DogState s) {
		state = s;
	}
}

public class CheckDogState{
	public static void main(String arg[]) {
		Dog yellowDog = new Dog();
		yellowDog.setState(new SoftlyState());
		yellowDog.cry();
		yellowDog.setState(new MeetEnemyState());
		yellowDog.cry();
		yellowDog.setState(new MeetFridendState());
		yellowDog.cry();
		yellowDog.setState(new MeetAnotherDog());
		yellowDog.cry();
	}
}

运行结果:

posted @ 2022-05-20 15:33  七色彩虹k  阅读(621)  评论(0)    收藏  举报