千家信息网

PHP面向对象中多态的示例分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍PHP面向对象中多态的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是多态性?多态性是继数据库抽象和继承后,面向对象语言的第三个特征。多态即多种形态
千家信息网最后更新 2026年11月02日PHP面向对象中多态的示例分析

这篇文章主要介绍PHP面向对象中多态的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

什么是多态性?

多态性是继数据库抽象和继承后,面向对象语言的第三个特征。多态即多种形态,具有表现多种形态的能力特征。在面向对象中表示根据对象的类型以不同方式处理。多态性允许每个对象以适合自身的方式去响应共同的消息。多态性增强了软件的灵活性和重用性。

如我们创建一个doing()方法,如果是学生则打印上课,如是公司职员则打印上班。

普通做法

使用if判断

/**
* PHP多态性
*/

// 定义学生类
class student{
public function cla(){
echo "学生工正在上课!
";
}
}

// 定义职员类
class office{
public function Wor(){
echo "职员正在上班!
";
}
}

// 判断对象类型方法
function doing($obj){
if($obj instanceof student){
$obj->cla();
}elseif($obj instanceof office){
$obj->wor();
}else{
echo "没有这个对象!";
}
}

doing(new student()); // 学生正在上课
doing(new office()); // 职员正在上班

以上结果输出:

学生正在上课
职员正在上班

这种普通方法有个缺点,就是对象如果很多,那么if..else..很长,不灵活。

多态性做法

定义一个公共抽象方法,所有子类继承它。


/**
* PHP多态性
*/

// 定义一个公共类
class pub{
protected function working(){
echo "本方法需要在子类中重载!";
}
}

// 定义学生类,继承公共类pub
class student extends pub{
public function working(){
echo "学生工正在上课!
";
}
}

// 定义职员类,继承公共类pub
class office extends pub{
public function working(){
echo "职员正在上班!
";
}
}

// 判断对象类型方法
function doing($obj){
if($obj instanceof pub){
$obj->working();
}else{
echo "没有这个对象!";
}
}

doing(new student()); // 学生正在上课
doing(new office()); // 职员正在上班


这就是多态的特性,灵活重用。

其它做法

从多态性的实现方式来看,无非就规范了每个类都要重载父类的一个方法,从而达到统一效果。而我们在定义类的时候,自行加上统一的方法也可行。因此以上例子也可以这么实现:

复制代码 代码如下:


/**
* PHP多态性
* 琼台博客
*/

// 定义学生类
class student{
// 定义统一的方法pub
public function pub(){
echo "学生工正在上课!
";
}
}

// 定义职员类
class office{
// 定义统一的方法pub
public function pub(){
echo "职员正在上班!
";
}
}

// 判断对象类型方法
function doing($obj){
if($obj){
// 调用类的统一方法
$obj->pub();
}else{
echo '没有这个对象';
}
}

doing(new student()); // 学生正在上课
doing(new office()); // 职员正在上班


当然,以上的例子不能说明多态性就能使用这样的方式搞定,毕竟多态性在复杂的程序设计中,它能有效的达到灵活重用的特性。

多态性也可以理解为一种程序设计方式,而程序设计最终目的无非就是:灵活,多态,重用,高效。

以上是"PHP面向对象中多态的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

多态 正在 对象 多态性 方法 职员 学生 方式 统一 类型 做法 就是 程序 程序设计 生工 设计 示例 分析 普通 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技 互联网 的科技创新 互联网 科技服务平台 甘肃拓世互联网科技有限公司 中国科技互联网公司收入 广州慧亚互联网科技怎么样 中国互联网有什么科技含量 汽车互联网创新科技园 湖北码尼互联网科技有限公司电话 宝灵互联网科技有限公司 互联网金融科技元年 启辰互联网科技 皮皮虾互联网科技有限公司 长沙渺峰互联网科技有限公司 唐山双旺合互联网科技产业园 科技互联网专业工作会议发言稿 互联网科技大会大佬 上海旺乐尼互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 高科技和互联网的现代国家 上海挚品互联网科技有限公司 广州紫鲸互联网科技有限公司 猫创互联网科技 科技伦理 互联网公司 开启互联网科技时代小说 互联网科技教育视频 宁夏众和广鑫互联网科技有限公司 梅州GM互联网络科技有限公司 南京一网一红互联网科技有限公司 科技发展第三阶段互联网时代
0