PHP面向接口编程 耦合设计模式 简单范例
发布时间:2023-10-24 09:18:27
标签:PHP,面向接口
<?php
interface js{
function ys($a,$b);
}
class Af implements js{
function ys($a,$b){
return "加法运算......结果为:".($a+$b);
}
}
class Jf implements js{
function ys($a,$b){
return "减法运算......结果为:".($a-$b);
}
}
class AAf implements js{
function ys($a,$b){
return "乘法运算......结果为:".($a*$b);
}
}
class JJf implements js{
function ys($a,$b){
return "除法运算......结果为:".($a/$b);
}
}
class Modf implements js{
function ys($a,$b){
return "取模运算......结果为:".($a % $b);
}
}
class China implements js{
public $varl=null;//这里直接:public $varl = new nothingx(); 会出错。
function __construct(){
$this->varl = new nothingx();
}
function ys($a,$b){
return $this->varl->say();
}
}
/*也可以用继承的方式实现哟:
class China extends nothingx implements js{
function ys($a,$b){
return parent::say();
}
}
*/
class nothingx{
function say(){
return "我什么运算都不做...只是为了实现<font color=#990000><b>‘耦合设计模式'</b></font>...我是出来打酱油的......";
}
}
class test{
private $one;
private $two;
public function __construct($x,$y){
$this->one=$x;
$this->two=$y;
echo "<font size=20px><strong>面向对象程序设计——接口</font></strong><hr>Class test初始化:<br>属性\$one=".$this->one."属性\$two=".$this->two."<hr>";
}
function display(js $a){
return "<font color=#990000><b>用PHP接口技术实现的运算——开始运算啦:</b></font><hr>".$a->ys($this->one,$this->two)."<hr>";
}
}
$t=new test(103,2);
$t1=new jf;
$t2=new China;
echo $t->display($t1);
echo $t->display($t2);
?>


猜你喜欢
- 过年回家,都会约上亲朋好友聚聚会,会上经常会打麻将,斗地主,斗牛。在这些游戏中,斗牛是最受欢迎的,因为可以很多人一起玩,而且没有技术含量,都
- .Net新手通常容易把属性(Property)跟特性(Attribute)搞混,其实这是两种不同的东西属性指的类中封装的数据字段;而特性是对
- 今天发现有一个程序插入的时间不对,而该字段是配置的默认值 CURRENT_TIMESTAMP,初步判断是数据库的时区设置问题。查看时区登录数
- 前言前几天在Python交流群里边,有个叫【^-^】的粉丝分享了一道Python基础的题目,跟快递信息有关的,题目如下:现在想要达到的效果如
- 前言原理:Windows逆向,通过内联汇编的形式调用发消息的函数下面的代码PC微信版本是:3.7.0.26 , python使用的32位的3
- 本文实例讲述了Python3.5常见内置方法参数用法。分享给大家供大家参考,具体如下:Python的内置方法参数详解网站为:https://
- 前言本文通过示例给大家介绍了python嵌套字典比较值,取值,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。示例代码#取值
- 1)用这个方法,把虚拟主机的默认页只设置成一个比如index.asp 在index.asp的最上面加入以下代码:<%if R
- 1、linux系统一般自带perl可运行程序在:/usr/bin/perl2、perl测试程序#!/usr/bin/perl -wuse w
- 主键的生成方式主要有三种: 一. 数据库自动生成 二. GUID 三. 开发创建 严格讲这三种产生方式有一定的交叉点,其定位方式将在下面进行
- 以GraphViz为例:下载安装好的路径名字为C:/Program Files (x86)/Graphviz2.38import osos.
- USE NBDXMIS CREATE proc TestTimeAnySentence @sql_where varchar(8000) a
- Mac 环境中既有自带的 Python2.7 也有自己安装的 Python 3.5.1,默认想用 Python3 的环境1. 添加 Pyth
- 每个写asp程序人必会的知识!在ASP编程中使用数组数组的定义Dim MyArrayMyArray = Array(1,5,123,12,9
- 程序运行前加载1.导包前面加下划线,运行前加载2.把要加载的写在init函数里面路由设置路由的作用:根据不同的请求指定不同的控制器路由函数:
- 1、将css与javascript全部用下边的方法分离到外部文件中去。<link rel="stylesheet"
- 学习一些你已经知道的知识也没有什么坏处,是吧?我知道这可能并不一定非常有意义,但是很多时候我们往往知其然而不知其所以然,这会使得事情出现惊人
- 很多深度神经网络模型需要加载预训练过的Vgg参数,比如说:风格迁移、目标检测、图像标注等计算机视觉中常见的任务。那么到底如何加载Vgg模型呢
- 如下所示:两个函数:Basemap.drawparallels ##纬度 Basemap.drawmeridia
- 在pandas里面常用value_counts确认数据出现的频率。1. Series 情况下:pandas 的 value_counts()