首页 > 其他分享 >每日博客

每日博客

时间:2023-12-01 20:58:00浏览次数:28  
标签:package 每日 System 博客 public println void out

实验 24:模板方法模式

package rjsj.no24;

 

public abstract class Operator {

    public abstract void connDB();

 

    public void openDB(){

        System.out.println("---打开数据库---");

    }

 

    public void useDB(){

        System.out.println("---使用数据库---");

    }

 

    public void closeDB(){

        System.out.println("---关闭数据库---");

    }

 

    public void display(){

        this.connDB();

        this.openDB();

        this.useDB();

        this.closeDB();

    }

}

package rjsj.no24;

 

public class Oracle extends Operator{

    @Override

    public void connDB() {

        System.out.println("连接---Oracle---数据库");

    }

}

package rjsj.no24;

 

public class SQLServer extends Operator{

    @Override

    public void connDB() {

        System.out.println("连接---SQLServer---数据库");

    }

}

package rjsj.no24;

 

public class Client {

    public static void main(String[] args) {

        Operator dbOperator;

 

        dbOperator = new SQLServer();

        dbOperator.display();

        System.out.println("————————————————————");

        dbOperator = new Oracle();

        dbOperator.display();

    }

}

 

实验 25:访问者模式

package com.gazikel;

 

public interface Product {

 

    void accept(Visitor visitor);

}

package com.gazikel;

 

public class Apple implements Product {

    @Override

    public void accept(Visitor visitor) {

        visitor.visit(this);

    }

}

package com.gazikel;

 

public class Book implements Product {

    @Override

    public void accept(Visitor visitor) {

        visitor.visit(this);

    }

}

package com.gazikel;

 

public abstract class Visitor {

    protected String name;

 

    public void setName(String name) {

        this.name = name;

    }

 

    public abstract void visit(Apple apple);

 

    public abstract void visit(Book book);

}

package com.gazikel;

 

public class Customer extends Visitor {

    @Override

    public void visit(Apple apple) {

        System.out.println("顾客" + name + "选苹果");

    }

 

    @Override

    public void visit(Book book) {

        System.out.println("顾客" + name + "买书");

    }

}

package com.gazikel;

 

public class Packer extends Visitor {

    @Override

    public void visit(Apple apple) {

        System.out.println("打包员" + name + "给苹果打包");

    }

 

    @Override

    public void visit(Book book) {

        System.out.println("打包员" + name + "给书打包");

    }

}

package com.gazikel;

 

public class Saler extends Visitor {

    @Override

    public void visit(Apple apple) {

        System.out.println("收银员" + name + "给苹果过秤,然后计算其价格");

    }

 

    @Override

    public void visit(Book book) {

        System.out.println("收银员" + name + "直接计算书的价格");

 

    }

}

package com.gazikel;

 

import java.util.ArrayList;

import java.util.List;

 

public class BuyBasket {

 

    private List<Product> products = new ArrayList();

 

    public void accept(Visitor visitor) {

        for (Product product : products) {

            product.accept(visitor);

        }

    }

 

    public void addProduct(Product p) {

        products.add(p);

    }

 

    public void removeProduct(Product p) {

        products.remove(p);

    }

}

package com.gazikel;

 

public class Client {

 

    public static void main(String[] args) {

        BuyBasket buyBasket = new BuyBasket();

 

        buyBasket.addProduct(new Apple());

        buyBasket.addProduct(new Book());

 

        Visitor saler = new Saler();

        saler.setName("李华");

        System.out.println("----收银员----");

        buyBasket.accept(saler);

 

        Visitor packer = new Packer();

        packer.setName("赵强");

        System.out.println("----打包员----");

        buyBasket.accept(packer);

 

        Visitor customer = new Customer();

        customer.setName("王超");

        System.out.println("----顾客----");

        buyBasket.accept(customer);

    }

}

标签:package,每日,System,博客,public,println,void,out
From: https://www.cnblogs.com/LiuLyuancn/p/17870842.html

相关文章

  • 12.01每日总结
    packageorg.example;importjavax.swing.*;importjava.awt.*;publicclassMainextendsJFrame{publicstaticJFramejFrame;publicstaticJPaneljPanel=newJPanel();publicstaticJScrollPanejScrollPane=newJScrollPane(jPanel,ScrollPaneConstant......
  • 博客园:无限:waifu2x 无限渲染
    博客园:无限:waifu2x基于onnxruntime-web的waifu2x的实验性浏览器版本。它可以在浏览器上运行,而无需将图像上传到远程服务器。得益于这种方式让我可以通过嵌入博客园展示这个ai!!!开始使用:File(D&D)模型选择......
  • 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.12.1)
    一、百度网盘SVIP超级会员共享账号可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答。我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免了U盘的物理载体,直接在网上就实现文件传输。百度网盘SVIP会员可以让自己百度账......
  • 每日总结11.30
    访问者模式1、理解访问者模式的动机,掌握该模式的结构;2、能够利用访问者模式法解决实际问题。实验任务:打包员在我们课堂上的“购物车”的例子中,增加一个新的访问者:打包员,负责对购物车中货物装包。Client.javapublicclassClient{publicstaticvoidmain(String[]args......
  • 如何将typora文件导入到博客园
    一、typora的下载与配置1、下载typoatypora中文站:https://typoraio.cn/目前typora是需要付费的,但是在网上也有很多破解版教程,核心不过是添加winmm.dll这个插件到typora的安装目录来破解。这里不再一一赘述。配置typoractrl+,打开偏好设置,在图像中选择复制图片到./${filenam......
  • 11.30每日总结
    实验一:百度机器翻译SDK实验一、实验要求 任务一:下载配置百度翻译Java相关库及环境(占10%)。 任务二:了解百度翻译相关功能并进行总结,包括文本翻译-通用版和文本翻译-词典版(占20%)。 任务三:完成百度翻译相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文(占30%)。......
  • 事事有回应:51CTO博客官方小助手,在此集合!
    “奖品什么时候发?”“为什么删除我的文章?”“我要申请TOP红人!”......关于活动福利、编辑器使用、博文的审核等等博客问题,欢迎博客的新老朋友们,有事没事,都可以找官方小助手聊一聊哦~(微信:cto51cto)【活动相关】目的:从活动开始到结束,全流程解答你的问题联系:加小助手【编辑器......
  • 11.30每日总结
    我要把今天作为我的纪念日,哈哈哈,零分选手一路逆袭最后拿了满分的故事,天呐,我要默默踩了多少狗屎才能积下这福泽,换来这美好的一天啊。体育老师怎么就这么面善呢,怎么“过了”这两个字从他嘴里说出来就这么好听呢。总之,现在11.30就是我的幸运日啦!......
  • 每日一练:通过广播信道实现跨页面通信
    利用广播通道实现标签页通信1.什么是广播通道广播通道是一种新的浏览器原生API,它可以让你在同源的标签页之间传递消息。这个API的目的是为了让开发者可以在不同的标签页之间共享数据,而不需要使用LocalStorage或者其他的存储方式。2.广播通道的使用2.1创建广播通道constchannel......
  • 每日博客
    今天搞了百度翻译packageorg.example;importokhttp3.*;importjavax.swing.*;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importokhttp3.*;importorg.apache.hbase.thirdparty.com.google.gson.Gson;importorg.apache.hba......