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

北京网站建设策划方案百度软件应用市场

北京网站建设策划方案,百度软件应用市场,搜附近的人用什么软件,idzoom室内设计师网题目描述 设想你正在构建一个智能家居控制系统。这个系统可以连接多种不同类型的智能设备,如智能灯泡、智能空调和智能门锁。每种设备都有其独特的功能,不过它们也有一些通用的操作,像开启、关闭和获取设备状态等。系统需要提供一个方法来控…

题目描述

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

详细要求

  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/91892.html

相关文章:

  • 口碑好的秦皇岛网站建设哪里有网站建设服务
  • 企业名称自主申报河南做网站优化
  • 昆明企业网站建设网上竞价平台
  • 3d网页游戏大全搜索引擎优化实验报告
  • 如何做网站不被坑产品推广软文200字
  • c2c网站名称aso推广
  • 自制网站的动态图怎么做中央电视台一套广告价目表
  • 网站创建要多少钱百度最新版下载
  • 北京网站seo优化排名如何进行网站的推广
  • 宁夏网站制作品牌公关公司
  • 政府网站建设的讲话软文广告范文
  • 设计可以在哪个网站接单网站优化公司认准乐云seo
  • 设计公司画册设计哪家好百度seo技术
  • 塘厦镇网站仿做seo也成搜索引擎优化
  • 有没有网站做悬赏的代运营
  • 网站广告布局网上怎么发布广告
  • 赌博网站做维护犯罪中国国家人事人才培训网
  • 开通网站申请书湖北网络推广公司
  • wordpress frontsem和seo是什么意思
  • 天津建设招聘信息网站品牌营销活动策划方案
  • 坪山住房及建设局网站安卓内核级优化神器
  • 自建个人网站今天国内最新消息
  • 广东网站建设微信商城运营阿里云自助建站
  • 青州哪里做网站安卓优化大师官方版本下载
  • 网站制作哪个公司好今日新闻最新
  • 模板做图 网站有哪些内容排名检测
  • 中国能建设计公司网站代理推广月入5万
  • Wordpress页面怎么使用网站页面优化包括
  • 网站文件结构杭州网站优化方案
  • 示范校建设网站维护中国搜索网站排名