<?php
class work{
function polymorphic($obj){
//检查是否引用类型(obj是否继承animal类)
if($obj instanceof animal){
$obj -> fun();
}
else{
echo "no function";
}
}
//如果需要指定类 (指定cat类,包含cat子类)
function bose(cat $obj){
$obj->fun();
}
}
//抽象类
abstract class animal{
abstract function fun();
}
//cat猫类
class cat extends animal{
function fun(){
echo "cat say miaomiao...";
}
}
//dog狗类
class dog extends animal{
function fun(){
echo "dog say wangwang...";
}
}
class mouse extends cat{
}
//先new一个work类
$new_work = new work();
//然后通过new_work对象 调用 polymorphic 方法,传入不同的类实现 父类引用指向子类对象;接口引用指向实现接口的类对象(多态)。
$new_work->polymorphic(new cat());
echo '<br/>';
$new_work->polymorphic(new dog());
echo '<br/>';
//指定类方式仿java
$new_work->bose(new cat());
echo '<br/>';
//如果传输其他类,或者未继承cat类则会报错
//$new_work->bose(new dog());
echo '<br />';
//这也不会报错
$new_work->bose(new mouse());
cat say miaomiao... dog say wangwang... cat say miaomiao... cat say miaomiao...
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有