刻画小狗状态java_JAVA面向接口编程
JAVA面向接口編程
小狗在不同環(huán)境條件下可能呈現(xiàn)不同的狀態(tài),小狗通過調(diào)用 cry()方法體現(xiàn)自己的當(dāng)前的狀 態(tài)。要求用接口封裝小狗的狀態(tài)。具體要求如下。
? 編寫一個(gè)接口 DogState,該接口有一個(gè)名字為 void showState()的方法。
? 編寫 Dog 類,該類中有一個(gè) DogState 接口聲明的變量 state。另外,該類有一個(gè) cry()方 法,在該方法中讓接口 state 回調(diào) showState()方法。即 Dog 對(duì)象通過 cry()方法來體現(xiàn) 自己目前的狀態(tài)。
? 編寫若干個(gè)實(shí)現(xiàn) DogState 接口的類,負(fù)責(zé)刻畫小狗的各種狀態(tài)。
? 編寫主類,在主類中用 Dog 創(chuàng)建小狗,并讓小狗調(diào)用 cry 方法體現(xiàn)自己的狀態(tài)
1、使用方法:implements可以實(shí)現(xiàn)多個(gè)接口
2、接口使用interface關(guān)鍵字進(jìn)行聲明
interface DogState {
public void showState();
}
DogState為接口
3、創(chuàng)建多個(gè)實(shí)現(xiàn)接口的類
class SoftlyState implements DogState {
public void showState() {
System.out.println("主人在,聽主人的命令");
}
//重寫public void showState()
}
class MeetEnemyState implements DogState {
public void showState() {
System.out.println("見到主人的敵人,上前咬他");
}
//重寫public void showState()
}
class MeetFriendState implements DogState {
public void showState() {
System.out.println("見到主人的朋友,上前歡迎");
}
//重寫public void showState()
}
在不同的類中,使用重寫函數(shù)的方法
4、創(chuàng)建小狗類,創(chuàng)建 DogState 接口聲明的變量 state
class Dog {
DogState state;
public void cry() {
state.showState();
}
public void setState(DogState s) {
state = s;
}
}
5、創(chuàng)建主函數(shù)調(diào)用各個(gè)接口
public class E {
public static void main(String args[]) {
Dog yellowDog =new Dog();
yellowDog.setState(new SoftlyState());
yellowDog.cry();
yellowDog.setState(new MeetEnemyState());
yellowDog.cry();
yellowDog.setState(new MeetFriendState());
yellowDog.cry();
}
}
6、運(yùn)行結(jié)果
總結(jié)
以上是生活随笔為你收集整理的刻画小狗状态java_JAVA面向接口编程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么在linux中查询yum,linux
- 下一篇: adb 重命名_adb中常用的命令