本例用MyObject类生成了两个子类:Book和Elec,两个子类用不同的构造方法实例化了两个对象c_book和h_elec,并输出信息<?php

/*父类*/

class MyObject{

public $object_name;//名称

public $object_price;//价格

public $object_num;//数量

public $object_agio;//折扣

function construct($name,$price,$num,$agio){

$this -> object_name = $name;

$this -> object_price = $price;

$this -> object_num = $num;

$this -> object_agio = $agio;

}

function showMe(){

echo '这句话不会显示。';

}

}

/* 子类Book */

class Book extends MyObject{

public $book_type;//类别

function construct($type,$num){

$this -> book_type = $type;

$this -> object_num = $num;

}

function showMe(){

return '本次新进'.$this -> book_type.'图书'.$this -> object_num.'
';

}

}

/* 子类Elec */

class Elec extends MyObject{

function showMe(){

return '热卖商品'.$this -> object_name.'
原价:'.$this -> object_price.'
特价:'.$this -> object_agio * $this -> object_price;

}

}

/*实例化对象*/

$c_book = new Book('计算机类',1000);

$h_elec = new Elec('待机王XX手机',1200,3,0.8);

echo $c_book->showMe()."
";

echo $h_elec->showMe();

?>

(1)子类继承了父类的所有成员变量和方法,包括构造函数。这就是继承的实现

(2)当子类被创建时,PHP会先在子类中查找构造方法。如果子类有自己的构造方法,PHP会优先调用子类的构造方法;当子类没有时,PHP则会调用父类的构造方法

(3)子类重写了父类的方法showMe(),所以两个对象虽然调用的都是showMe()方法,但返回的结果却是两个不同的信息 。这就是多态的体现

php中可以实现多态的是继承,php:对象继承和多态的实例相关推荐

  1. 再论JavaScript原型继承和对象继承

    JavaScript的原型继承是老生常谈.由于原型即prototype本身也是对象,所以"原型"继承可认为是一种特殊的"对象式"继承."对象式&quo ...

  2. 初学JavaScript:原型继承/盗用构造函数继承/组合继承/寄生式继承/原型式继承/寄生组合式继承

    文章目录 继承 简介 1.原型链继承 默认原型 判断原型与实例间是否为继承关系 原型继承中的方法 原型链的破坏 原型继承的问题 2.盗用构造函数继承 简介 盗用构造函数继承的问题 3.组合继承 简介 ...

  3. 在java面向对象编程中_谈一谈你对封装_继承_多态概念的理解_Java新职篇:面向对象编程的3个原则是什么?...

    原标题:Java新职篇:面向对象编程的3个原则是什么? 所有面向对象的编程语言都提供帮助你实现面向对象模型的机制,这些机制是封装,继承及多态性.现在让我们来看一下它们的概念. 封装 封装(Encaps ...

  4. 6-C++中继承的权限有三种情况、创建和销毁的执行过程、多继承、菱形继承、多态的相关知识点

    目录 1.继承的权限有三种 (1)public继承 (2)protected继承 (3)private继承 总结 2.创建和销毁的执行过程 (1)类中有成员对象情况 (2)继承时情况 (3)创建和销毁 ...

  5. 9-4:C++多态之单继承和多继承中的虚函数表

    文章目录 (1)单继承中的虚函数表 (2)多继承中的虚函数表 (1)单继承中的虚函数表 如下继承体系中,fun1函数重写,fun2未被重写,B类中fun3和fun4也被定义为了虚函数 #include ...

  6. java多态简单例子6_Java_6、面向对象——继承和多态

    继承 •继承是面向对象编程的三大特征之一,是一种基于已有类来创建新类的机制.由继承而得到的类称为子类(或派生类),被继承的类称为父类(或超类). •Java中每个类只允许有一个父类.语法如下:clas ...

  7. python中的单继承,多继承和mro顺序

    python作为一门动态语言,是和c++一样支持面向对象编程的.相对对象编程有三大特性,分别是继承,封装和多态.今天我们重点讲解的是,python语言中的单继承和多继承. 继承概念: 如果一个类继承了 ...

  8. C++编程思想:继承与虚函数以及多态

    文章目录 简介 实现虚函数多态的技术原理 对象切边 析构函数和构造函数中的虚函数 使用继承的类的析构函数应该使用虚函数修饰符 简介 继承与虚函数与多态是浑然一体的三个概念,父类中虚函数可以表现出多态特 ...

  9. java多态和继承_Java学习--继承与多态

    1.何时使用继承 1.1符合 *** is a ***的规则,即双方可以相互依存,亦可保持独立: 1.2可实现代码复用 即当大家的代码块具有相似或类似时,我们可以抽象出一些公共的属性及方法作为父类,子 ...

  10. java 抽象封装多态_java面向对象(封装,继承,多态,抽象,接口的定义和实现)...

    1.封装 在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定 ...

最新文章

  1. 计算机专业大学排名_计算机专业大学排名公布:大连大学、辽宁师范大学冲进前一百...
  2. 最新翻译的官方PyTorch简易入门教程(PyTorch1.0版本)
  3. JavaScript的运动——弹性运动原理及案例
  4. woe分析_Python数据分析—apply函数
  5. 比较创建几种线程的方式
  6. ElasticSearch6.x 7.x Elasticdump 在线安装、离线安装
  7. php mongodb 视频教程,燕十八mongodb视频资料分享
  8. 罗振宇2021跨年演讲2:除了规模中国还有什么优势?
  9. python堆排序的库_Python:堆排序
  10. Ubuntu替换pip源
  11. CentOS 7 之安装 Oracle 11gR2
  12. 何建坤:实施能源革命战略 促绿色低碳发展
  13. js使用高德地图api实现定位,行政区域划分,点击事件,只显示某个省市或区,海量点标记
  14. html+dwcs6代码,Dreamweaver cs6如何快速整理代码?
  15. 关于基金知识的一些整理
  16. linux桌面鼠标可动 但点其他,电脑鼠标能动但点不了的两种解决方法
  17. 图神经网络学习过程心得总结
  18. Python 【爬虫3】_微信小程序_小游戏数据助手数据爬取
  19. gaynbsp;andnbsp;lalanbsp;超短小说
  20. 针对青少年学生负担过重现象

热门文章

  1. python数据结构与算法 河内塔问题
  2. Codeforces Round #807 (Div. 2) A-C
  3. kettle运行spoon.bat时找不到javaw文件 bug报错
  4. Python深度学习“四大名著”之一全新PyTorch版
  5. 2001年计算机等级考试上机题,2001年9月计算机等级考试二级C语言上机试题
  6. 2022资料员-岗位技能(资料员)理论题库及在线模拟考试
  7. Structured Threat Information eXpression
  8. 微信CRM和微博CRM的相同和不同
  9. 游戏思考24:游戏寻路算法思考和Unity场景相关代码开发原则及导入地图数据(10/09)
  10. 计算机进入怎么解决办法,电脑开机进不了系统怎么办 电脑开机进不了系统解决方法【介绍】...