강아지 상태

1263 단어
강아지는 서로 다른 환경 조건하에서 서로 다른 상태를 나타낼 수 있으므로 인터페이스로 강아지의 상태를 봉해야 한다.
코드는 다음과 같습니다.
interface DogState{
	public void showState();
}


class SoftlyState implements DogState {
	public void showState(){
		System.out.println("      !");
	}
}

class MeetEnemyState implements DogState {
	public void showState(){
		System.out.println("     !");
	}
}

class MeetFriendState implements DogState {
	public void showState(){
		System.out.println("    ,    !");
	}
}

class MeetAnotherDog implements DogState {
	public void showState(){
		System.out.println("hello!");
	}
}

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

public class CheckDogState{
	public static void main(String[] args) {
		Dog yellowDog=new Dog();
		System.out.println("      :");
		yellowDog.setState(new SoftlyState());
		yellowDog.show();
		System.out.println("     :");
		yellowDog.setState(new MeetEnemyState());
		yellowDog.show();
		System.out.println("     :");
		yellowDog.setState(new MeetFriendState());
		yellowDog.show();
		System.out.println("     :");
		yellowDog.setState(new MeetAnotherDog());
		yellowDog.show();
		
	}
}

좋은 웹페이지 즐겨찾기