首页 > 其他分享 >10.11日记

10.11日记

时间:2023-10-11 11:23:07浏览次数:34  
标签:function show FactoryMethod 日记 Product2 10.11 new class

工厂方法模式

描述:在子类中实现父类的抽象方法
不需要修改工厂类,只需要添加就行。符合开闭原则

// 商品接口的实现类
interface Product2
{
    function show(): void;
}
class ConcreateProductA implements Product2
{
    public function show(): void
    {
        echo '我是商品A', PHP_EOL;
    }
}
class ConcreateProductB implements Product2
{
    public function show(): void
    {
        echo '我是商品B', PHP_EOL;
    }
}
// 工厂的抽象类与创建类
abstract class Creator
{
    // 抽象工厂方法
    abstract protected function FactoryMethod(): Product2;

    // 操作方法
    public function AnOperation(): Product2
    {
        return $this->FactoryMethod();
    }
}
class ConcreateCreatorA extends Creator
{
    // 实现操作方法
    protected function FactoryMethod(): Product2
    {
        return new ConcreateProductA();
    }
}
class ConcreateCreatorB extends Creator
{
    protected function FactoryMethod(): Product2
    {
        return new ConcreateProductB();
    }
}
// 测试
$factoryA = new ConcreateCreatorA();
$factoryB = new ConcreateCreatorB();
$factoryA->AnOperation()->show();
$factoryB->AnOperation()->show();

标签:function,show,FactoryMethod,日记,Product2,10.11,new,class
From: https://www.cnblogs.com/zhangmingmkzj/p/17756603.html

相关文章

  • 10.9日记
    操作说明:输入检索日期范围,系统会对应付未付款的单据,应收未收款的单据进行显示出来。具体显示字段:应付账单:   相关入库单据号   供应商名称   应付金额   预付金额   已核销金额   未核销金额   相关采购单据号   入库日期   制单员   审......
  • 2023.10-12 日记
    10.6只买到了石家庄到天津的票,所以先去zsy家玩了zsy他妈买了酱香拿铁,尝了尝感觉还行,酒味很淡且和咖啡并不冲突,可以接受。瑞幸敢上市确实是有道理的一等座确实舒服,几乎没有坐车的疲惫......
  • 2023-10 日记
    2023-10-01中午吃饭的时候遇到了【数据删除】。顿时失去了三号回家的动力。但是退票得收好几十的手续费,而且学校里面草稿纸不够了,还是决定回家。下午做了一下ccpc威海。最后一小时重新学习了min25筛。发现没学会直接摆烂。把第一个DP的代码抄上去改了改就完事了。最后五分......
  • 一个java程序员,手撸app的日记(一)
    首先,我是一名多年的java后端程序员,但刚接触此行的时候,还是写过jsp页面的,因为当年不懂,以为sp页面也是java的一部分,就闷着头给公司写了起来(只想说,html好写,但css是真的难)。jsp的编写是在自己经验不足的年纪,写了不到半年,草草了事,只是学会了ajax和部分js的编写(只觉得js真简单,弱类型,且......
  • 2023.10.01 日记
    1+1=2令\(f[i]\)为\(a+b=i\)的和。显然可得\(f[a]=f[a-b]+f[b],f[1]=1\)。所以可得\(1+1=f[1]+f[1]=f[2]=2\)。code#include<bits/stdc++.h>usingnamespacestd;constintmaxn=1e5+10;inta,b,f[maxn];intmain(){ios::sync_with_stdio(false);cin.......
  • 日记,兼水题乱做,兼闲话瞎讲,兼厕纸,还兼了点其他的什么东西
    总想写点东西,但是写一篇博文太耗时间了,就写点小玩意罢2023/10/1CF1662D一个神秘构造题。首先要注意到操作可逆,还要注意到字母B有特殊性质,更要注意到题目中给的操作可以转化为互换相邻字母A和字母B位置。主要考察注意力......
  • 加训日记 Day7——练题捏
    Day7,9.27  ·平凡的一天(指早上呼呼大睡)  ·今天挤时间把算法基础课看完了,时间拉的有点长  ·该开始一点一点写题了......
  • 加训日记 Day8——关于cf一道题调了半天这件事
    Day8,9.28  ·国庆假期前狠狠刷cf  ·把之前比赛的题目基本上都补了(牛客的没来得及补)  ·这一个星期日均四道题,确实挺不错的  ·思维还是跟不上捏......
  • 加训日记 Day5——codeforces round 899 再战div2
    Day5,9.25,codeforcesround899div2  ·事实证明自己的思维和手速都还不够快,晚上还晚来了一点  ·B题属实是,上来就想着并查集(菜鸡是这样的)然后发现不会写捏  ·思考了很久(看数据量)感觉是枚举暴力,但是又想不到怎么去枚举  ·一题遗憾离场  ·顺理成章的-26......
  • 加训日记 Day6——来场div3上上分(为什么连着三天比赛啊喂,人要熬死了)
    Day6,9.26cfround900div3  ·前三题手速题,尝试用模板和库函数结果出了点岔子,罚时略高  ·感觉还有很大提升空间,觉得这种题应该要求自己10分钟内全过掉(开翻译的情况下)  ·D过的人数没有E多就很难绷  ·写了发D结果TLEon10,心态爆炸直接下播  ·美美+46......