/*
1、多态的介绍与优势
(1)多态的意思是“多种形态”
(2)多态根据对象类型不同来以不同方式处理
(3)多太的优势:面向对象不仅仅是把类继承起来,还能通过多太方式,来根据对象不同,来用不同方式处理,从而更人性化,减少多余的判断和重复代码
2、运算符 :instanceof (可以说是否来自的意思)
(1)PHP 一个类型运算符。instanceof 用来判断一个给定的对象是否来自指定的对象类。判断是否是真 ,这样就能知道原始类是那一个
*/
//假设创建2个类 并实例化 在用instanceof来判断对象是否真(是否来自指定对象类)
class a{} //创建类A
class b{} //创建类B
//实例化类
$sla= new a(); //实例化类A
$slb= new b(); //实例化类B
//判断对象(来自)那个类
if($sla instanceof A){ //判断对象$sla 来自那个类
echo "本对象来自a"."
";
}else{
echo "本对象来自b"."
";
}
if($slb instanceof b){ //判断对象$slb 来自那个类
echo "本对象来自b"."
";
}else{
echo "本对象来自a"."
";
}
/* 3、多态的简单应用 -------------------------------------------------------------*/
/*
* interface 创建接口
* implements 引用接口
* instanceof 运算符 (可以说是否来自的意思)
*/
//创建接口 --定义一个整体接口的规范方法-------------------------------------------------
interface myusb { //创建接口myusb 假说是我的USB接口
function leix(); //创建接口抽象类方法 leix() 假说是我的USB类型
function tis(); //创建接口抽象类方法 tis() 假说是我的USB提示
}
//创建2个类并引用接口规范-------------------------------------------------------------------------
//创建类来引用接口(假说是U盘)
class upan implements myusb { //创建 upan类来引用接口myusb
//方法重载
function leix(){ //重载接口中的抽象类方法lei() 假说是U盘的类型
echo "这是2.0的U盘--";
}
function tis(){ //重载接口中的抽象类方法tis() 假说是U盘的提示
echo "正在检查___U盘的驱动"."
";
}
}
//创建类来引用接口(假说是mp3)
class mp3 implements myusb { //创建 mp3类来引用接口myusb
//方法重载
function leix(){ //重载接口中的抽象类方法lei() 假说是mp3的类型
echo "这是1.0的mp3--";
}
function tis(){ //重载接口中的抽象类方法tis() 假说是mp3的提示
echo "正在检查___mp3的驱动"."
";
}
}
//创建一个类 (假说是电脑 来接受判断 对象属性,并给出响应)
class mypcc {
function pcusbjk($what){ //创建类方法 假说是电脑的USB接口
$what->leix(); //输出的USB类型
$what->tis(); //输出的USB提示
}
}
//实例化类为对象
$p1122 = new mypcc(); //实例化类mypcc()为对象
$upan =new upan(); //实例化类upan()为对象
$mp3 =new mp3(); //实例化类mp3()为对象
//开始用电脑多太化 进行对象的识别
$what1=$upan; //定义插入内容1为我的U盘
$what2=$mp3; //定义插入内容2为我的MP3
$p1122 ->pcusbjk($what1); //用电脑输出识别 U盘
$p1122 ->pcusbjk($what2); //用电脑输出识别 MP3
//用多太化进行识别
if($p1122 instanceof mypcc){ //判断对象$p1122 来自那个类
echo "本对象来自mypcc类--他是我的电脑"."
";
}else{
echo "本对象不是来自mypcc类"."
";
以上是大纲或介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:58850198咨询