栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

php学习笔记 面向对象中[接口]与[多态性]的应用

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

php学习笔记 面向对象中[接口]与[多态性]的应用

复制代码 代码如下:

//声明接口
interface Demo{
const HOST="localhost";
const USER="admin";
function fun1();//声明方法不用加abstract,默认就是。权限是public
function fun2();
}
//接口的继承
interface Demo2 extends Demo {
function fun3();
function fun4();
}
interface Demo3{
function fun5();
function fun6();
}
interface Demo4{
function fun7();
}
echo Demo::HOST;//可以访问接口中的常量
class Hello{
function fun8(){
}
}
//子类必须实现接口中的所有方法
class UTest extends Hello implements Demo2,Demo3,Demo4 { //实现多个接口
function fun1(){
}
function fun2(){
}
function fun3(){
}
function fun4(){
}
function fun5(){
}
function fun6(){
}
function fun7(){
}
}

interface Test{
function fun1();
function fun2();
}
class One implements Test{
function fun1(){
echo "aaaaaaaaa";
}
function fun2(){
echo "bbbbbbbbbbbb";
}
}
class Two implements Test{
function fun1(){
echo "11111111";
}
function fun2(){
echo "2222222222";
}
}
//同一个接口,实现同一个方法,不同对象,输出不同。这就是多态的表现与应用
$test=new One;
$test->fun1();//输出一行 a
$test->fun2();//输出一行 b
$test=new Two;
$test->fun1();//输出一行 1
$test->fun2();//输出一行 2
?>

//一个USB的接口
interface USB{
function mount();//装载USB的方法
function work();//USB工作的方法
function unmount();//卸载USB的方法
}
//定义一个USB设备 U盘
class Upan implements USB{//实现USB接口
function mount(){
echo " U盘 装载成功
";
}
function work(){
echo "U盘 开始工作
";
}
function unmount(){
echo "U盘 卸载成功
";
}
}
//定义一个USB设备 USB鼠标
class Umouse implements USB{//实现USB接口
function mount(){
echo " USB键盘 装载成功
";
}
function work(){
echo "USB键盘 开始工作
";
}
function unmount(){
echo "USB键盘 卸载成功
";
}
}
//定义一个电脑类
class Computer{
//使用USB设备的方法
function useUSB ($usb){//$usb参数表示 使用哪种USB设备
$usb->mount();//调用设备的 装载方法
$usb->work();//调用设备的 工作方法
$usb->unmount();//调用设备的卸载方法
}
}
//定义一个电脑的使用者的类
class PcUser{
//安装USB的方法
function install(){
//首先拿来一台电脑
$pc=new Computer;
//拿来一些USB设备
$up=new Upan;//拿来一个U盘
$um=new Umouse;//拿来一个USB鼠标
//把USB设备插入电脑, 使用电脑中使用USB设备的方法 来调用 要插入的设备
$pc->useUSB($up);//插入U盘
$pc->useUSB($um);//插入USB鼠标
}
}
//实例化一个电脑用户
$user=new PcUser;
$user->install();//安装设备

?>

作者:代号极光
http://www.cnblogs.com/zizhuyuan/archive/2011/06/16/2082262.html
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/51422.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号