java多态和接口的练习题

2023-10-27

继续我的练习之路。

题目要求:

将主板上的PCI插槽定义为接口 。把声卡(Sound类),显卡(Graphic类),网卡(NetWork)都插在PCI插槽上。PCI接口中定义start()方法和stop()方法。声卡,显卡,网卡为实现类,实现PCI接口的功能。程序运行结果如下:


先创建接口PCI:

public interface PCI {
    void start();
    void stop();
}

创建Sound类:

public class Sound implements PCI{
    @Override
    public void start() {
        System.out.println("声卡声音正常");
    }

    @Override
    public void stop() {
        System.out.println("声卡停止工作");
    }
}

创建Graphic类:

public class Graphic implements PCI{
    @Override
    public void start() {
        System.out.println("显卡显示图像");
    }

    @Override
    public void stop() {
        System.out.println("显卡已坏");
    }
}

创建NetWork类:

public class NetWork implements PCI{
    @Override
    public void start() {
        System.out.println("网卡运行正常,开始传输数据");
    }

    @Override
    public void stop() {
        System.out.println("网卡工作终止");
    }
}

创建测试类Test:

public class Test {
    public static void main(String[] args) {
        // 第一种实现方法,一步一步实现
        // 多态,向上转型 购买网卡
        PCI pci1 = new NetWork();
        pci1.start();
        pci1.stop();
        // 购买声卡
        PCI pci2 = new Sound();
        pci2.start();
        pci2.stop();
        // 购买显卡
        PCI pci3 = new Graphic();
        pci3.start();
        pci3.stop();

        // 第二种,利用数组实现
        PCI[] pci4 = {new NetWork(),new Sound(),new Graphic()};
        for (int i = 0; i < pci4.length; i++) {
            pci4[i].start();
            pci4[i].stop();
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java多态和接口的练习题 的相关文章

随机推荐

  • highcharts使用韦恩图报错解决Error in mounted hook: “Error: Highcharts error #17:missingModuleFor: venn(详细步骤)

    我由于在vue项目中刚好要使用韦恩图想用highcharts然后按照步骤 1 npm install highcharts save 2 创建组件
  • Mac使用技巧:轻松自定义设置系统键盘

    为你带来Mac OS系统和windows系统如何键盘自定义设置教程 感兴趣可以看看哦 一 mac系统下如何将外接键盘设置成和苹果键盘一样 首先打开mac系统设置里的 键盘 点击 修饰键 选择 usb键盘 然后 option 和 comman
  • 瓦片地图-坐标转换

    先明确三点 1 屏幕坐标是以左上角为原点 而cocos2dx坐标即opengl坐标体系 是以左下角为原点 2 tile地图坐标是以左上角或上方 45 为原点 tile瓦片的默认锚点是左下角 一 地图坐标 Tiled地图一般常见的有3种不同的
  • 【STC15单片机】独立按键显示二进制

    目录 按键选择 按键抖动 独立按键控制8个LED实现二进制显示 显示二进制的程序 单片机型号说明 IAP15F2K61S2 新建工程时单片机型号选择STC15F2K60S2 键盘的分类 键盘分编码键盘和非编码键盘 键盘上闭合件的识别由专用的
  • Python 中的八大关键要素

    阅读本文需要 10 分钟 前言 学习任何一门语言之前 你得先了解它的整体架构 知道它的思想 了解它的关键要素 一门语言学到后来你会发现 就像是在剥茧抽丝一般 越是深入越是发现其奥妙之处 Python 中的八大关键要素 Python 是一种D
  • 云服务器中如何创建共享文件夹,云服务器中如何创建共享文件夹

    云服务器中如何创建共享文件夹 内容精选 换一换 当您有如下需求时 可以考虑使用文件注入功能将文件注入到弹性云服务器 需要通过脚本简化弹性云服务器配置通过脚本初始化系统已有脚本 在创建弹性云服务器的时候一并上传到服务器其他可以使用脚本完成的事
  • css-滚动条样式设置

    滚动条产生原因 给能设置宽高的元素添加 overflow scroll 样式 会让该元素区域产生滚动条 滚动条默认样式 以下行文案例皆是在 Edge 浏览器环境下测试 设置滚动条样式 通过设置 webkit scrollbar 伪元素影响滚
  • java设计模式——原型模式(Prototype Pattern)

    概述 在使用原型模式时 我们需要首先创建一个原型对象 再通过复制这个原型对象来创建更多同类型的对象 需要注意的是通过克隆方法所创建的对象是全新的对象 它们在内存中拥有新的地址 通常对克隆所产生的对象进行修改对原型对象不会造成任何影响 每一个
  • 项目管理和产品管理

    本文翻译至 http www tenstep jp cms project management value html start 8 A5 3 项目管理和产品管理 项目和产品 A5 3 P1 项目 是为了执行新工作的交付手段 所有的组织里
  • 【论文精读】Is Synthetic data from generative models ready for image recognition? 生成数据对图像识别的影响

    标题 扩散模型生成数据对图像识别的影响 1 总体介绍 发展现状 扩散模型已经可以生成高质量的样本 之前有人研究过生成数据对cv的作用 但是局限于小领域和小规模 研究目的 扩散样本对视觉领域的作用 手工标注的样本昂贵 有隐私和安全风险 探讨方
  • 凹凸世界服务器维护到几点,凹凸世界6月10日版本更新停服维护公告_凹凸世界6月10日版本更新了什么_玩游戏网...

    在凹凸世界手游中6月10日版本究竟更新了什么呢 更新的内容又有哪些呢 不清楚的话 接下来就让我们一起来看一下吧 亲爱的天使 感谢您对 凹凸世界 手游的关注与支持 为了给各位天使带来更好的游戏体验 不断地丰富游戏内容 凹凸世界 手游将于6月1
  • VLAN基础知识和配置

    分割广播的方式 物理分割 子网划分 逻辑分割 VLAN VLANy优势 1 控制广播 每一个vlan都是一个独立的广播域 这样就减少了广播对网络宽带的占用 提高了网络传输效率 并且一个VLAN出现了广播风暴不会影响其他的VLAN 2 增强网
  • 分布式应用:Zabbix监控MariaDB

    目录 一 理论 1 Zabbix监控MariaDB 二 实验 1 Zabbix监控MariaDB 一 理论 1 Zabbix监控MariaDB 1 环境 zabbix服务端 192 168 204 214 zabbix客户端 192 168
  • MatLab中的fft变换(快速傅里叶变换)

    本文章内容只作为个人学习总结使用 目录 说明 基本的FFT使用方法 1 简单的FFT功能介绍 2 恢复幅度轴 创建频率轴 说明 本文章主要进行MATLAB中fft函数基本使用方法的讨论 关于fft的概念以及为什么要进行fft等信号处理方面的
  • bugku 奇怪的密码

    a gndk rlqhmtkwwp z key 1 b for i in a b chr ord i key key key 1 print b
  • C++回顾录03-C++类和对象

    类是创建对象的模板 一个类可以创建多个对象 每个对象都是类类型的一个变量 创建对象的过程也叫类的实例化 每个对象都是类的一个具体实例 Instance 拥有类的成员变量和成员函数 类是用户自定义的类型 如果程序中要用到类 必须提前说明 或者
  • 数学建模_论文写作要求

    标题 副标题 基于XX 模型 方法 对xx的问题研究 可加副标题 xxx gt 三号黑体字 一级标题 四号黑体 居中 二级 三级标题 小四黑体 左对齐 其他字体 小四宋体 行距用单倍行距 设置文字时先选择样式再调整样式 总页数在25 35之
  • 【数字信号处理】带通采样定理及其MATLAB仿真

    目录 一 带通采样定理 1 1 内容 1 2 公式推导 二 MATLAB信号仿真 2 1 信号仿真实验 2 2 MATLAB代码 三 总结 参考 一 带通采样定理 按照奈奎斯特采样定理 低通采样 采样频率 f s f s fs 要大于等于信
  • 利用完全二叉树的性质,如何创建一个大根堆和一个小根堆?

    大根堆 大根堆 每个结点的值不大于他的父亲结点的值 分析如下 假设对 27 15 19 18 28 34 65 49 25 37 这样一个集合的数据创建成堆 代码如下 建立大根堆 public class TestHeap public i
  • java多态和接口的练习题

    继续我的练习之路 题目要求 将主板上的PCI插槽定义为接口 把声卡 Sound类 显卡 Graphic类 网卡 NetWork 都插在PCI插槽上 PCI接口中定义start 方法和stop 方法 声卡 显卡 网卡为实现类 实现PCI接口的