java实验案例(接口)

实验任务

  • 任务一:设计实现发声接口

  • List item

实验内容

任务一:设计实现发声接口

任务目的:

理解并掌握如何定义接口
掌握接口的实现方式

任务描述:

设计和实现一个Soundable接口,该接口具有发声功能,同时还能调节声音大小Soundable接口的这些功能将由有3种声音设备来实现他们分别是Radio、Walkman、Mobilephone。最后还需设计一个应用程序类来使用这些实现Soundable接口的声音设备。程序运行时,先询问用户想听那个设备,然后程序按照该设备的工作方式来输出发音。

实施步骤:

1. 定义 Soundable接口
public interface Soundable {

    // 发出声音
    public void playSound() ;
    
    // 降低声音
    public void decreaseVolume();
    
    // 停止声音
    public void stopSound();
}
2. 设计Radio类
public class Radio implements Soundable{

    @Override
    public void playSound() {
        System.out.println("收音机播放广播:中央人民广播电视台。");
    }

    @Override
    public void decreaseVolume() {
        System.out.println("降低收音机音量。");
    }

    @Override
    public void stopSound() {
        System.out.println("关闭收音机。");
    }
}
3. 设计Walkman类
public class Walkman implements Soundable{

    @Override
    public void playSound() {
        System.out.println("随身听发出音乐");
    }

    @Override
    public void decreaseVolume() {
        System.out.println("降低随身听音量");
    }

    @Override
    public void stopSound() {
        System.out.println("关闭随身听");
    }

}
4. 设计MobilePhone类
public class MobilePhone implements Soundable{

    @Override
    public void playSound() {
        System.out.println("手机发出来电铃声:叮当 、 叮当");
    }

    @Override
    public void decreaseVolume() {
        System.out.println("降低手机音量");
    }

    @Override
    public void stopSound() {
        System.out.println("关闭手机");
    }
    
}
5. 设计SampleDisplay类
class SampleDisplay {
    public void display(Soundable soundable) {
        soundable.playSound();
        soundable.decreaseVolume();
        soundable.stopSound();
    }
}
6. 测试类
import java.util.Scanner;

public class TestDemo {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("你想听什么?请输入:");
        System.out.println("0-收音机  1-随身听  2-手机");
        int choice;
        choice = in.nextInt();
        SampleDisplay sampledisplay = new SampleDisplay();
        if (choice == 0)
            sampledisplay.display(new Radio());
        else if(choice == 1)
            sampledisplay.display(new Walkman());
        else if(choice == 2)
            sampledisplay.display(new MobilePhone());
        else
            System.out.println("瓜娃,你输错了!");
        in.close();
    }

}

一定要掌握接口是干啥的!!目的是什么!

  • 13
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱写Bug的小孙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值