JAVA面向接口编程

男娘i 2023-03-14 13:20 159阅读 0赞

JAVA面向接口编程

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

• 编写一个接口 DogState,该接口有一个名字为 void showState()的方法。
• 编写 Dog 类,该类中有一个 DogState 接口声明的变量 state。另外,该类有一个 cry()方 法,在该方法中让接口 state 回调 showState()方法。即 Dog 对象通过 cry()方法来体现 自己目前的状态。
• 编写若干个实现 DogState 接口的类,负责刻画小狗的各种状态。
• 编写主类,在主类中用 Dog 创建小狗,并让小狗调用 cry 方法体现自己的状态

1、使用方法:implements可以实现多个接口
2、接口使用interface关键字进行声明

  1. interface DogState {
  2. public void showState();
  3. }

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

  1. class SoftlyState implements DogState {
  2. public void showState() {
  3. System.out.println("主人在,听主人的命令");
  4. }
  5. //重写public void showState()
  6. }
  7. class MeetEnemyState implements DogState {
  8. public void showState() {
  9. System.out.println("见到主人的敌人,上前咬他");
  10. }
  11. //重写public void showState()
  12. }
  13. class MeetFriendState implements DogState {
  14. public void showState() {
  15. System.out.println("见到主人的朋友,上前欢迎");
  16. }
  17. //重写public void showState()
  18. }

在不同的类中,使用重写函数的方法
4、创建小狗类,创建 DogState 接口声明的变量 state

  1. class Dog {
  2. DogState state;
  3. public void cry() {
  4. state.showState();
  5. }
  6. public void setState(DogState s) {
  7. state = s;
  8. }
  9. }

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

  1. public class E {
  2. public static void main(String args[]) {
  3. Dog yellowDog =new Dog();
  4. yellowDog.setState(new SoftlyState());
  5. yellowDog.cry();
  6. yellowDog.setState(new MeetEnemyState());
  7. yellowDog.cry();
  8. yellowDog.setState(new MeetFriendState());
  9. yellowDog.cry();
  10. }
  11. }

6、运行结果
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,159人围观)

还没有评论,来说两句吧...

相关阅读

    相关 面向接口编程

    \\接口表示一种能力\\ \- 体现在接口的方法上 \\面向接口编程\\ \- 关心实现类有何能力,而不关心实现细节 \- 面向接口的约定而不考虑接口的具体实现

    相关 JAVA面向接口编程

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

    相关 java面向接口编程

    首先面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它是面向对象编程体系中

    相关 面向接口编程

    参考于[百度百科][Link 1]     在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员

    相关 面向接口编程

    当我们需要对系统已有功能进行升级的时候,能不能修改已有代码进行升级? 不建议直接修改原来类,应该添加新的类或新的方法去升级。 可以通过新增一个类编写新的业务逻辑,但是

    相关 java面向接口编程详解

    以策略模式跟适配器模式为例: 相信看到这篇文字的人已经不需要了解什么是接口了,我就不再过多的做介绍了,直接步入正题,接口测试如何编写。那么在这一篇里,我们用一个例子,让各位对