<?php
/*
定义接口 其中有走路 *** 寻找的方法
*/
interface GuaiShou
{
public function ZouLu();
public function GongJi();
public function XunZhao();
}
// 继承接口 的 人类
//
class RenLei implements GuaiShou
{
public function ZouLu()
{
echo '我是'. RenLei::class . ',我用双脚走路<br>';
}
public function GongJi()
{
echo '我是'. RenLei::class.',我用智慧***<br>';
}
public function XunZhao()
{
echo '我是'. RenLei::class.',我用心寻找<br>';
}
}
// 继承接口 的 精灵
class JingLing implements GuaiShou
{
public function ZouLu()
{
echo '我是'. JingLing::class.',我用双脚走路<br>';
}
public function GongJi()
{
echo '我是'. JingLing::class.',我用法力***<br>';
}
public function XunZhao()
{
echo '我是'. JingLing::class.',我用翅膀寻找<br>';
}
}
// 继承接口 的 兽族
class ShouZu implements GuaiShou
{
public function ZouLu()
{
echo '我是'. ShouZu::class.',我用大腿走路<br>';
}
public function GongJi()
{
echo '我是'. ShouZu::class.',我用大力***<br>';
}
public function XunZhao()
{
echo '我是'. ShouZu::class.',我用蛮力寻找<br>';
}
}
// 继承接口 的 不死族
class BuSiZu implements GuaiShou
{
public function ZouLu()
{
echo '我是'. BuSiZu::class.',我用大腿走路<br>';
}
public function GongJi()
{
echo '我是'. BuSiZu::class.',我用大力***<br>';
}
public function XunZhao()
{
echo '我是'. BuSiZu::class.',我用蛮力寻找<br>';
}
}
/*
创建工厂类
*/
class AFactory
{
// 静态的工厂方法 传入类型
// 将传入的类型赋值给类名变量
// 返回 new 类名变量
static function factory($type)
{
$className = $type;
return new $className;
}
}
// 调用:
// 工厂类下的工厂方法(传入类名)
// 调用方法
$ren = AFactory::factory('BuSiZu');
$ren->GongJi();