PHP-模板(template)形式
PHP-模板(template)模式
1.定义:定义一个操作的算法的框架,将一些步骤的实现推迟到子类.
其实意思就是操作的算法的骨架不变,即规定好了第一步应该干什么,第二步干什么,再次干什么,但是不规定具体内容.
2.图示
AbstractClass(抽象类):定义了一到多个的抽象方法,以供具体的子类来实现它们;而且还要实现一个模板方法,来定义一个算法的骨架。
ConcreteClass(具体类):实现父类中的抽象方法以完成算法中与特定子类相关的步骤
在此那超市购物为例子,如某A购物非常有规律,他一般先去书籍区转转,然后再去蔬菜瓜果区看看,再去服装鞋帽区逛逛,最后去家电数码区(这就相当与AbstractClass)
话说上周六A去了一次超市
先到了书籍区,看到莫言的小说,感到应该随随大众,买了一本<<丰乳肥臀>>,立刻感到成了文艺青年,和周围人不一样了;
后去了蔬菜瓜果区,看到了最喜欢的橘子。。。。。;
然后到了服装鞋帽区,试了试阿迪王的最新款,买了;
到了家电数码区,看中了某款手机手机,没有钱买。
(这就相当与ConcreteClass)
惯例上代码:
1.抽象类
abstract class AbstractClass{ public function trip(){ $this->bookTrip(); $this->vegetablesTrip(); $this->shoesTrip(); $this->digitalTrip(); } abstract protected function bookTrip(); abstract protected function vegetablesTrip(); abstract protected function shoesTrip(); abstract protected function digitalTrip();}
2.具体类
class ConcreteClass extends AbstractClass{ protected function bookTrip(){ echo "买<<丰乳肥臀>>\n"; } protected function vegetablesTrip(){ echo "买10个橘子\n"; } protected function shoesTrip(){ echo "买阿迪王\n"; } protected function digitalTrip(){ echo "没钱没手机\n"; }}
3.client
$instance=new ConcreteClass();$instance->trip();
最后模板模式的本质就是固定算法骨架

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果,其目的是封装一段可重复使用的代码,提高代码的可重用性和可维护性。

在本文中,我们将了解enumerate()函数以及Python中“enumerate()”函数的用途。什么是enumerate()函数?Python的enumerate()函数接受数据集合作为参数并返回一个枚举对象。枚举对象以键值对的形式返回。key是每个item对应的索引,value是items。语法enumerate(iterable,start)参数iterable-传入的数据集合可以作为枚举对象返回,称为iterablestart-顾名思义,枚举对象的起始索引由start定义。如果我们忽

MySQL.proc表的作用和功能详解MySQL是一种流行的关系型数据库管理系统,开发者在使用MySQL时常常会涉及到存储过程(StoredProcedure)的创建和管理。而MySQL.proc表则是一个非常重要的系统表,它存储了数据库中所有的存储过程的相关信息,包括存储过程的名称、定义、参数等。在本文中,我们将详细解释MySQL.proc表的作用和功能

Vue.use函数的用法和作用Vue是一款流行的前端框架,它提供了许多有用的功能和功能。其中之一就是Vue.use函数,它可以让我们在Vue应用中使用插件。本文将介绍Vue.use函数的用法和作用,并且提供一些代码示例。Vue.use函数的基本用法非常简单,只需在Vue实例化之前调用它,并传入要使用的插件作为参数。下面是一个简单的示例://引入并使用插件

file_exists方法检查文件或目录是否存在。它接受要检查的文件或目录的路径作为参数。以下是它的用途-当您需要在处理之前知道文件是否存在时,它非常有用。这样,在创建新文件时使用此函数即可知道该文件是否已存在。语法file_exists($file_path)参数file_path-设置要检查是否存在的文件或目录的路径。必需。返回file_exists()方法返回。如果文件或目录存在,则返回TrueFalse,如果文件或目录不存在示例让我们看一个检查“candidate.txt”文件和即使文件

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。

修饰符abstract(抽象的)一、abstract可以修饰类(1)被abstract修饰的类称为抽象类(2)语法:abstractclass类名{}(3)特点:抽象类不能单独创建对象,但是可以声明引用抽象类类名引用名;(4)抽象类可以定义成员变量和成员方法(5)抽象类有构造方法,用于创建子类对象时,jvm默认创建一个父类对象;抽象的构造方法应用在jvm创建父类对象时应用。二、abstract可以修饰方法(1)被asbtract修饰的方法被称为抽象方法(2)语法:访问修饰符abstract返回值

不,我们不能将顶级类声明为私有或受保护。它可以是公共或默认(无修饰符)。如果没有修饰符,则应该具有默认访问权限。语法//Atoplevelclass publicclassTopLevelClassTest{ //Classbody}如果将一个顶级类声明为私有(private),编译器将会报错,提示“在此处不允许使用修饰符private”。这意味着顶级类不能是私有的,同样也适用于protected访问
