当前位置: 首页 > wzjs >正文

电商大数据查询平台免费志鸿优化网下载

电商大数据查询平台免费,志鸿优化网下载,深圳网博网站建设,教育网站题目描述 设想你正在构建一个智能家居控制系统。这个系统可以连接多种不同类型的智能设备,如智能灯泡、智能空调和智能门锁。每种设备都有其独特的功能,不过它们也有一些通用的操作,像开启、关闭和获取设备状态等。系统需要提供一个方法来控…

题目描述

设想你正在构建一个智能家居控制系统。这个系统可以连接多种不同类型的智能设备,如智能灯泡、智能空调和智能门锁。每种设备都有其独特的功能,不过它们也有一些通用的操作,像开启、关闭和获取设备状态等。系统需要提供一个方法来控制多个设备的开关,同时还要有一个方法依据用户输入的设备类型来创建对应的设备对象。

详细要求

  1. 定义接口:创建一个 SmartDevice 接口,其中包含开启设备、关闭设备以及获取设备状态的抽象方法。
  2. 实现具体设备类:创建 SmartBulb(智能灯泡)、SmartAirConditioner(智能空调)和 SmartLock(智能门锁)类,让它们实现 SmartDevice 接口。
  3. 多态的实现
    1. 方法形参:创建一个 controlDevices 方法,该方法接收一个 SmartDevice 数组作为参数,对数组里的所有设备执行开启或关闭操作。
    2. 方法返回值:创建一个 createDevice 方法,该方法依据用户输入的设备类型返回对应的 SmartDevice 对象。
  4. 异常处理:在 createDevice 方法中,若用户输入的设备类型不被支持,要抛出一个自定义异常 MyException

SmartDevice类

public interface SmartDevice {boolean open();boolean close();void condition();
}

SmartBlub类

public class SmartBulb implements SmartDevice{private boolean isOn;@Overridepublic boolean open() {isOn = true;return isOn;}@Overridepublic boolean close() {isOn = false;return isOn;}@Overridepublic void condition() {if (isOn){System.out.println("智能灯泡已开启");}else {System.out.println("智能灯泡已关闭");}}
}

SmartAirCondition类

public class SmartAirConditioner implements SmartDevice{private boolean isOn;@Overridepublic boolean open() {isOn = true;return isOn;}@Overridepublic boolean close() {isOn = false;return isOn;}@Overridepublic void condition() {if (isOn){System.out.println("智能空调已开启");}else {System.out.println("智能空调已关闭");}}
}

SmartLock类

public class SmartLock implements SmartDevice{private boolean isOn;@Overridepublic boolean open() {isOn = true;return isOn;}@Overridepublic boolean close() {isOn = false;return isOn;}@Overridepublic void condition() {if (isOn){System.out.println("智能门锁已开启");}else {System.out.println("智能门锁已关闭");}}
}

ControlDevice类

public class ControlDevice {public void ControlDevice(SmartDevice [] smartDevices){for(SmartDevice smartDevice : smartDevices){smartDevice.open();smartDevice.condition();smartDevice.close();smartDevice.condition();System.out.println();}}public SmartDevice createDevice(String name) throws MyException{switch (name){case "智能灯泡":return new SmartBulb();case "智能空调":return new SmartAirConditioner();case "智能门锁":return new SmartLock();default:throw new MyException("不支持的设备类型: " + name);}}
}

MyException自定义异常类

public class MyException extends RuntimeException {public MyException(String message) {super(message);}}

Test

public class Test {public static void main(String[] args) {try {ControlDevice controlDevice = new ControlDevice();SmartBulb bulb =(SmartBulb) controlDevice.createDevice("智能灯泡");SmartAirConditioner airConditioner =(SmartAirConditioner) controlDevice.createDevice("智能空调");SmartLock lock =(SmartLock) controlDevice.createDevice("智能门锁");SmartDevice [] smartDevice = {bulb,airConditioner,lock};controlDevice.ControlDevice(smartDevice);controlDevice.createDevice("智能冰箱");} catch (MyException e) {e.printStackTrace();System.out.println("该家具不存在!");}finally {System.out.println("程序运行完毕!");}}
}

输出结果:

http://www.dtcms.com/wzjs/333091.html

相关文章:

  • 教做黏土手工的网站竞价服务托管价格
  • 一键做网站广州seo网络优化公司
  • 陕西建设厅执业资格注册中心网站免费数据统计网站
  • 哪家微网站建设西安建站推广
  • 武汉网站建设多少钱淘宝推广费用一般多少
  • 创造与魔法官方网站做自己喜欢的事天津建站网
  • 软件免费下载的网站大全怎么做产品推广平台
  • 网页网站开发合肥seo服务商
  • cbd网站建设seo专员是什么
  • dede自适应网站注意事项管理培训机构
  • 凡科建站价格seo优化快速排名
  • 天津做网站seo搜索是什么
  • 湖南基础建设投资集团网站产品推广计划方案
  • 手机测评做视频网站网站优化seo推广服务
  • 网站标题栏怎么修改北京seo实战培训班
  • 专门做spa的网站推广普通话的意义论文
  • 网站改版 收录网站建设的意义和目的
  • 徐州网站制作系统网站宣传推广文案
  • 做网站哪些免费发布信息的平台有哪些
  • 个人做分类信息网站艾滋病阻断药有哪些
  • 做网站的业务逻辑亚马逊关键词
  • 怎么样可以做自己的网站微信群推广平台有哪些
  • 伊犁网站建设网络推广的方法有多选题
  • 个人服务器搭建做网站建网站用什么工具
  • 天津做网站的网络公司怎么免费做网站
  • 银川做网站最好的公司有哪些软件培训班
  • 怎么创建视频号seo学校培训课程
  • 衡阳哪有做网站推广的外贸seo推广公司
  • 揭阳高端模板建站网站推广和优化系统
  • 中国建筑网查询杭州seo网站排名优化