面向对象编程之6:综合项目-智能家居系统
以上,就是智能家居系统的全部代码,想了解更多的Java知识,请关注本博主~~
·
欢迎来到“雪碧聊技术”CSDN博客!
在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将不断探索Java的深邃世界,分享最新的技术动态、实战经验以及项目心得。
让我们一同在Java的广阔天地中遨游,携手提升技术能力,共创美好未来!感谢您的关注与支持,期待在“雪碧聊技术”与您共同成长!
目录
2、编写子类:电视类TV、洗衣机类WashMachine、灯类Lamp、空调类Air。
一、案例要求

二、编写代码
1、编写父类:家电类JD
//父类
public class JD implements Switch{
//名称
private String name;
//状态
private boolean status;//false,默认是关闭的
//构造器
public JD() {
}
public JD(String name, boolean status) {
this.name = name;
this.status = status;
}
//get、set
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
//“点击按钮”方法
@Override
public void press() {
//控制当前设备开、关
status = !status;
}
}
2、编写子类:电视类TV、洗衣机类WashMachine、灯类Lamp、空调类Air。
//电视类
public class TV extends JD{
//全参构造
public TV(String name, boolean status) {
super(name, status);
}
}
//洗衣机类
public class WashMachine extends JD{
public WashMachine(String name, boolean status) {
super(name, status);
}
}
//灯类
public class Lamp extends JD{
public Lamp(String name, boolean status) {
super(name,status);
}
}
//空调
public class Air extends JD{
public Air(String name, boolean status) {
super(name, status);
}
}
3、编写操作接口Switch
public interface Switch {
void press();//按压开关
}
4、编写智能控制系统类(单例模式)
//智能控制系统类(单例模式)
public class SmartHomeControl {
//2、定义静态变量,来记住一个对象
private static final SmartHomeControl smartHomeControl = new SmartHomeControl();
//1、构造器私有化
private SmartHomeControl(){}
//3、提供静态方法,用来获取该单例
public static SmartHomeControl getInstance(){
return smartHomeControl;
}
//形参用到了多态。
public void control(JD jd){
System.out.println("---------------------------------------");
System.out.println(jd.getName() + "状态目前是:" + (jd.isStatus()?"开着":"关闭"));
System.out.println("开始您的操作......");
jd.press();//按下开关
System.out.println(jd.getName() + "状态已经是:" + (jd.isStatus()?"开着":"关闭"));
System.out.println("---------------------------------------");
}
//输出每个家电的开关状态
public void printAllStatus(JD[] jds) {
System.out.println("======================================");
//使用for循环遍历
for(int i =0;i<jds.length;i++){
System.out.println((i+1)+"、"+jds[i].getName() + "状态目前是:" + (jds[i].isStatus()?"开着":"关闭"));
}
System.out.println("======================================");
}
}
5、编写测试类
public class Test {
public static void main(String[] args) {
//购置四种家电:电视、洗衣机、灯、空调
JD[] jds = new JD[4];
jds[0] = new TV("小米电视", true);
jds[1] = new WashMachine("美的洗衣机", false);
jds[2] = new Lamp("欧灯",false);
jds[3] = new Air("美的空调",false);
//生成智能控制系统类(单例模式)
SmartHomeControl smartHomeControl = SmartHomeControl.getInstance();
while(true) {
//打印全部设备的开关现状
smartHomeControl.printAllStatus(jds);
//提示用户操作
System.out.println("请您选择要控制的设备(序号):");
Scanner sc = new Scanner(System.in);
String command = sc.next();
switch (command) {
case "1":
smartHomeControl.control(jds[0]);
break;
case "2":
smartHomeControl.control(jds[1]);
break;
case "3":
smartHomeControl.control(jds[2]);
break;
case "4":
smartHomeControl.control(jds[3]);
break;
case "exit":
System.out.println("退出App!");
return;
default:
System.out.println("输入有误,请重新输入");
}
}
}
}
三、效果展示
目前,2、3、4号设备,全是关闭状态,我们要打开它们:
======================================
1、小米电视状态目前是:开着
2、美的洗衣机状态目前是:关闭
3、欧灯状态目前是:关闭
4、美的空调状态目前是:关闭
======================================
请您选择要控制的设备(序号):
2
---------------------------------------
美的洗衣机状态目前是:关闭
开始您的操作......
美的洗衣机状态已经是:开着
---------------------------------------
======================================
1、小米电视状态目前是:开着
2、美的洗衣机状态目前是:开着
3、欧灯状态目前是:关闭
4、美的空调状态目前是:关闭
======================================
请您选择要控制的设备(序号):
3
---------------------------------------
欧灯状态目前是:关闭
开始您的操作......
欧灯状态已经是:开着
---------------------------------------
======================================
1、小米电视状态目前是:开着
2、美的洗衣机状态目前是:开着
3、欧灯状态目前是:开着
4、美的空调状态目前是:关闭
======================================
请您选择要控制的设备(序号):
4
---------------------------------------
美的空调状态目前是:关闭
开始您的操作......
美的空调状态已经是:开着
---------------------------------------
======================================
1、小米电视状态目前是:开着
2、美的洗衣机状态目前是:开着
3、欧灯状态目前是:开着
4、美的空调状态目前是:开着
======================================
请您选择要控制的设备(序号):
0
输入有误,请重新输入
======================================
1、小米电视状态目前是:开着
2、美的洗衣机状态目前是:开着
3、欧灯状态目前是:开着
4、美的空调状态目前是:开着
======================================
请您选择要控制的设备(序号):
exit
退出App!
以上,就是智能家居系统的全部代码,想了解更多的Java知识,请关注本博主~~
更多推荐

所有评论(0)