栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

刻画小狗状态java

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

刻画小狗状态java

JAVA面向接口编程

小狗在不同环境条件下可能呈现不同的状态,小狗通过调用 cry()方法体现自己的当前的状 态。要求用接口封装小狗的状态。具体要求如下。

• 编写一个接口 DogState,该接口有一个名字为 void showState()的方法。

• 编写 Dog 类,该类中有一个 DogState 接口声明的变量 state。另外,该类有一个 cry()方 法,在该方法中让接口 state 回调 showState()方法。即 Dog 对象通过 cry()方法来体现 自己目前的状态。

• 编写若干个实现 DogState 接口的类,负责刻画小狗的各种状态。

• 编写主类,在主类中用 Dog 创建小狗,并让小狗调用 cry 方法体现自己的状态

1、使用方法:implements可以实现多个接口

2、接口使用interface关键字进行声明

interface DogState {

public void showState();

}

DogState为接口

3、创建多个实现接口的类

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()

}

在不同的类中,使用重写函数的方法

4、创建小狗类,创建 DogState 接口声明的变量 state

class Dog {

DogState state;

public void cry() {

state.showState();

}

public void setState(DogState s) {

state = s;

}

}

5、创建主函数调用各个接口

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、运行结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/984271.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号