首页 > 其他分享 >2023年9月26日每日随笔

2023年9月26日每日随笔

时间:2023-09-26 22:22:37浏览次数:24  
标签:子类 26 off light void 2023 new 随笔 public

  今天,学习了一个新的数据库,mongoDB,并在其shell界面进行增删改查,学习了c#的一些语法,也出现了一些的问题,同时,对于设计模式也没有落下,学习了外观模式:

外观模式

有两种角色:外观类和子类,

外观类:定义子类对象,集成处理子类方法以实现一系列操作

子类:每一个具体的类

主要就是简化操作,提供一个外观类进行子类的操作的统一处理。

子类:

public class Light {
    private String position;

    public Light(String position)
    {
        this.position = position;
    }
    public void on()
    {
        System.out.println(this.position + "灯打开");
    }
    public void off()
    {
        System.out.println(this.position + "灯关闭");
    }

}
public class Fan {
    public void on()
    {
        System.out.println("风扇打开");
    }

    public void off()
    {
        System.out.println("风扇关闭");
    }
}
public class AirConditioner {

    public void on()
    {
        System.out.println("空调打开");
    }

    public void off()
    {
        System.out.println("空调关闭");
    }
}
public class Television {
    public void on()
    {
        System.out.println("电视机打开");
    }

    public void off()
    {
        System.out.println("电视机关闭");
    }
}

外观类:

public class GeneralSwitchFacade {
    // 定义子类对象

    private Light light[] = new Light[4];
    private Fan fan;
    private AirConditioner airConditioner;
    private Television television;

    // 对每个子类对象进行初始化
    public GeneralSwitchFacade()
    {
        light[0] = new Light("左前");
        light[1] = new Light("右前");
        light[2] = new Light("左后");
        light[3] = new Light("右后");
        fan = new Fan();
        airConditioner = new AirConditioner();
        television = new Television();

    }

    public void on()
    {
        light[0].on();
        light[1].on();
        light[2].on();
        light[3].on();
        fan.on();
        airConditioner.on();
        television.on();
    }

    public void off()
    {
        light[0].off();
        light[1].off();
        light[2].off();
        light[3].off();
        fan.off();
        airConditioner.off();
        television.off();

    }

}

客户类:

public class Client {

    public static void main(String[] args) {
        // 外观类 初始化
        GeneralSwitchFacade generalSwitchFacade = new GeneralSwitchFacade();

        // 进行方法调用

        generalSwitchFacade.on();

        generalSwitchFacade.off();
    }
}

 

标签:子类,26,off,light,void,2023,new,随笔,public
From: https://www.cnblogs.com/JIANGzihao0222/p/17731406.html

相关文章

  • 2023/9/27 讲课用
    杂谈表达式首先来明确一些概念值(value)即为一个静态的数据。值可以是整数,浮点数,字符,字符串等变量(variable)可以形象地理解为,存储值得容器。变量有诸多类型,一般而言,变量只能存储对应类型的值。inta=0;“我向系统声明:我需要一小块内存,来存储一个整数变量,变量的值为\(0......
  • 【Android面试】2023最新面试专题二:ArrayList篇
    1.4 请说一说ArrayList如何保证线程安全,除了加关键字的方式?这道题想考察什么?1、ArrayList的底层原理?考察的知识点ArrayList底层的源码的理解考生如何回答ArrayList如何保证线程安全继承Arraylist,然后重写或按需求编写自己的方法,这些方法要写成synchronized,在这些synchronized的......
  • 2023年最新京东app端sign签名算法与cipher加解密逆向分析(2023-09-26)
    前言:  本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,若有侵权请联系我删除!技术交流合作请私信!一.工具的选择(抓包工具的选择,是门学问)用到工具如下:1、安卓手机一台,系统版本:android6.01;型号:小米MI4LTE  之所以要选择android6手机,原理如下:  ......
  • 每日总结9.26
    今天上午我先上了一节算法与数据结构的课程。这门课程主要讲解了各种算法和数据结构的基本原理和应用。我们学习了不同的排序算法,如冒泡排序、插入排序和快速排序等,以及栈、队列和链表等数据结构。老师通过生动的例子和实际的应用场景,让我们更好地理解和掌握这些概念。这门课程对......
  • kubernetes集群搭建2023
    参考:https://zhuanlan.zhihu.com/p/627310856(比较详细的一篇k8s集群部署文章)https://www.cnblogs.com/libruce/p/17477374.html或者https://zhuanlan.zhihu.com/p/590652259(不关闭防火墙的情况,如何配置端口)https://www.cnblogs.com/suuuch/p/16728103.html(初始化集群或者新节......
  • 9.26每日总结
    今天学习了mongodb数据库的使用,并且学会了对其进行简单的创建数据库以及创建数据表的操作,然后学会了简单的增删改查,并且用编程软件进行连接。同时进一步了解了企业erp,并找了相关的代码进测试学习。......
  • 多线程Review-926-01
    一、进程与线程1、进程:①电脑管家等软件我们运行的应用程序②在内存中正在运行的程序2、线程:①进程中的一个最小执行单元。一个进程最少得有一个线程②软件中的每一个功能,如电脑管家中的清理垃圾、杀毒、软件搜索二、线程的创建方式1、继承Thread类  :优点——代码......
  • SMU Autumn 2023 Round 5
    SMUAutumn2023Round5A.EveryoneLovestoSleep把时间都转成分钟,然后存起来,二分找到离他睡觉点最近的一个时间段,减去他的睡觉点,如果最近的在第二天,则把中间的这段时间加起来#include<bits/stdc++.h>#defineintlonglong#definedebug(a)cout<<#a<<"="<<a<<'\n'......
  • 2023-2024-1 20211319蓝宇 《信息安全专业导论》第一周学习总结
    作业信息|这个作业属于哪个课程|2020-2021-1信息安全专业导论(https://edu.cnblogs.com/campus/besti/2020-2021-1fois))||这个作业要求在哪里|[2020-2021-1信息安全专业导论第一周作业](https://edu.cnblogs.com/campus/besti/2020-2021-1fois/homework/11249))||这个作业的......
  • 2023.09.26 联考总结&题解
    T1derby你考虑直接贪心进行匹配即可,就是说对于每一个\(1\)去匹配最大的\(0\)#include<bits/stdc++.h>usingnamespacestd;intn,m;vector<int>A[2],B[2];intmain(){ freopen("derby.in","r",stdin); freopen("derby.out","w",s......