PHP面向接口编程 耦合设计模式 简单范例

yipeiwu_com5年前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);
?>

相关文章

php与python实现的线程池多线程爬虫功能示例

本文实例讲述了php与python实现的线程池多线程爬虫功能。分享给大家供大家参考,具体如下: 多线程爬虫可以用于抓取内容了这个可以提升性能了,这里我们来看php与python 线程池多...

ajax php 实现写入数据库

首先需要一个带输入表格. 复制代码 代码如下:<!-- To change this template, choose Tools | Templates and open the...

PHP排序算法之快速排序(Quick Sort)及其优化算法详解

本文实例讲述了PHP排序算法之快速排序(Quick Sort)及其优化算法。分享给大家供大家参考,具体如下: 基本思想: 快速排序(Quicksort)是对冒泡排序的一种改进。他的基本思...

php中判断文件存在是用file_exists还是is_file的整理

看了这篇PHP中file_exists与is_file,is_dir的区别的说法基本明白,PHP的 file_exists = is_dir + is_file。 写程序验证一下: 分别...

Windows7下的php环境配置教程

Windows7下的php环境配置教程

一:下载程序包 首先到php官网下载程序包,官网地址: http://www.php.net/downloads.php 二:解压 解压你的程序包,放在除c盘外的目录下(文件夹非中文命名...