数码资讯
简单工厂模式PHP设计模式的详细解决方案
本文以实例的形式详细介绍了PHP设计模式的简单工厂模型,对PHP程序的设计有很好的参考价值: 第一,概念 简单工厂模式{静态工厂方法模式}(静态工厂方法) 是类的创建模式。 工厂模式的几种形式: 1。简单工厂模式(简单工厂)也称为静态工厂方法。 2。工厂方法也称为多态工厂模型(多态工厂)。 三.抽象
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
本文以实例的形式详细介绍了PHP设计模式的简单工厂模型,对PHP程序的设计有很好的参考价值:
第一,概念
简单工厂模式{静态工厂方法模式}(静态工厂方法)
是类的创建模式。
工厂模式的几种形式:
1。简单工厂模式(简单工厂)也称为静态工厂方法。
2。工厂方法也称为多态工厂模型(多态工厂)。
三.抽象工厂模式(抽象工厂)也称为工具箱模型(工具包)。
二、文本分析:
三。代码实例
示例代码可以在测试之后运行,如下所示:
< PHP
*案例
*
*一个向市场出售水果的农场
农场里有三种水果,苹果和葡萄。
我们假设:1、水果有多种属性,每个属性是不同的,但他们有共同的东西|生长、种植、收货、吃
* 2,在未来,有可能添加新的成果,我们需要定义一个接口来规范他们必须实现的方法。
* 3,我们需要一个水果班,我们需要从农民那里得到一个水果,知道如何种植,种植,收获和食用。
* /
*虚拟产品接口类
*定义需要实现的方法
* /
界面水果{
*增长
* /
公共职能增长();
*种植
* /
公共功能装置();
/ * *
*收获
* /
公共功能收获();
/ * *
*吃
* /
公共功能餐();
}
/ * *
*定义特定的产品,如苹果
*首先,我们要实现由继承接口定义的方法。
然后定义苹果特有的属性和方法。
* /
苹果类实现水果{
苹果树的树龄
私人TreeAge美元;
苹果/色
私人$颜色;
公共函数增长(){
葡萄生长;
}
公共函数工厂(){
葡萄植物;
}
公共函数收获(){
葡萄收获;
}
公共功能吃(){
葡萄吃;
}
以苹果树的树龄为例
公共功能gettreeage(){
返回这个-> TreeAge;
}
设置苹果树的年龄
公共功能settreeage($岁){
美元-> TreeAge = $年龄;
回归树;
}
}
*定义特定产品类葡萄
*首先,我们要实现由继承接口定义的方法。
然后定义葡萄特有的属性和方法。
* /
葡萄类实施水果{
如果有葡萄籽
私人无核;
公共函数增长(){
回声苹果生长;
}
公共函数工厂(){
苹果植物;
}
公共函数收获(){
苹果收获;
}
公共功能吃(){
苹果吃;
}
没有种子值
公共功能getseedless(){
返回$无核;
}
设置/无籽/无籽
公共功能setseedless($种子){
美元=无籽=种子;
返回true;
}
}
*农场主用来获取实例化的果实
*
* /
类农民{
定义静态工厂方法
公共静态函数厂($ fruitname){
开关($ fruitname){
case'apple:
返回新苹果();
打破;
case'grape:
还新葡萄();
打破;
违约:
把新的badfruitexception(错误无果
打破;
}
}
}
类badfruitexception延伸例外{
公共味精;
公共errtype美元;
公共功能__construct($味精= '',errtype美元= 1){
$ >味精=味精;
美元-> errtype = $ errtype;
}
}
/ * *
*获得果实实例化的方法
* /
尝试{
appleinstance美元=农民::厂('apple);
var_dump($ appleinstance);
} catch(badfruitexception $ ERR){
返回$。_______美元-> errtype犯错;
}
希望本文中描述的示例将有助于PHP程序设计。
第一,概念
简单工厂模式{静态工厂方法模式}(静态工厂方法)
是类的创建模式。
工厂模式的几种形式:
1。简单工厂模式(简单工厂)也称为静态工厂方法。
2。工厂方法也称为多态工厂模型(多态工厂)。
三.抽象工厂模式(抽象工厂)也称为工具箱模型(工具包)。
二、文本分析:
三。代码实例
示例代码可以在测试之后运行,如下所示:
< PHP
*案例
*
*一个向市场出售水果的农场
农场里有三种水果,苹果和葡萄。
我们假设:1、水果有多种属性,每个属性是不同的,但他们有共同的东西|生长、种植、收货、吃
* 2,在未来,有可能添加新的成果,我们需要定义一个接口来规范他们必须实现的方法。
* 3,我们需要一个水果班,我们需要从农民那里得到一个水果,知道如何种植,种植,收获和食用。
* /
*虚拟产品接口类
*定义需要实现的方法
* /
界面水果{
*增长
* /
公共职能增长();
*种植
* /
公共功能装置();
/ * *
*收获
* /
公共功能收获();
/ * *
*吃
* /
公共功能餐();
}
/ * *
*定义特定的产品,如苹果
*首先,我们要实现由继承接口定义的方法。
然后定义苹果特有的属性和方法。
* /
苹果类实现水果{
苹果树的树龄
私人TreeAge美元;
苹果/色
私人$颜色;
公共函数增长(){
葡萄生长;
}
公共函数工厂(){
葡萄植物;
}
公共函数收获(){
葡萄收获;
}
公共功能吃(){
葡萄吃;
}
以苹果树的树龄为例
公共功能gettreeage(){
返回这个-> TreeAge;
}
设置苹果树的年龄
公共功能settreeage($岁){
美元-> TreeAge = $年龄;
回归树;
}
}
*定义特定产品类葡萄
*首先,我们要实现由继承接口定义的方法。
然后定义葡萄特有的属性和方法。
* /
葡萄类实施水果{
如果有葡萄籽
私人无核;
公共函数增长(){
回声苹果生长;
}
公共函数工厂(){
苹果植物;
}
公共函数收获(){
苹果收获;
}
公共功能吃(){
苹果吃;
}
没有种子值
公共功能getseedless(){
返回$无核;
}
设置/无籽/无籽
公共功能setseedless($种子){
美元=无籽=种子;
返回true;
}
}
*农场主用来获取实例化的果实
*
* /
类农民{
定义静态工厂方法
公共静态函数厂($ fruitname){
开关($ fruitname){
case'apple:
返回新苹果();
打破;
case'grape:
还新葡萄();
打破;
违约:
把新的badfruitexception(错误无果
打破;
}
}
}
类badfruitexception延伸例外{
公共味精;
公共errtype美元;
公共功能__construct($味精= '',errtype美元= 1){
$ >味精=味精;
美元-> errtype = $ errtype;
}
}
/ * *
*获得果实实例化的方法
* /
尝试{
appleinstance美元=农民::厂('apple);
var_dump($ appleinstance);
} catch(badfruitexception $ ERR){
返回$。_______美元-> errtype犯错;
}
希望本文中描述的示例将有助于PHP程序设计。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。