php中可以实现多态的是继承,php:对象继承和多态的实例
本例用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:对象继承和多态的实例相关推荐
- 再论JavaScript原型继承和对象继承
JavaScript的原型继承是老生常谈.由于原型即prototype本身也是对象,所以"原型"继承可认为是一种特殊的"对象式"继承."对象式&quo ...
- 初学JavaScript:原型继承/盗用构造函数继承/组合继承/寄生式继承/原型式继承/寄生组合式继承
文章目录 继承 简介 1.原型链继承 默认原型 判断原型与实例间是否为继承关系 原型继承中的方法 原型链的破坏 原型继承的问题 2.盗用构造函数继承 简介 盗用构造函数继承的问题 3.组合继承 简介 ...
- 在java面向对象编程中_谈一谈你对封装_继承_多态概念的理解_Java新职篇:面向对象编程的3个原则是什么?...
原标题:Java新职篇:面向对象编程的3个原则是什么? 所有面向对象的编程语言都提供帮助你实现面向对象模型的机制,这些机制是封装,继承及多态性.现在让我们来看一下它们的概念. 封装 封装(Encaps ...
- 6-C++中继承的权限有三种情况、创建和销毁的执行过程、多继承、菱形继承、多态的相关知识点
目录 1.继承的权限有三种 (1)public继承 (2)protected继承 (3)private继承 总结 2.创建和销毁的执行过程 (1)类中有成员对象情况 (2)继承时情况 (3)创建和销毁 ...
- 9-4:C++多态之单继承和多继承中的虚函数表
文章目录 (1)单继承中的虚函数表 (2)多继承中的虚函数表 (1)单继承中的虚函数表 如下继承体系中,fun1函数重写,fun2未被重写,B类中fun3和fun4也被定义为了虚函数 #include ...
- java多态简单例子6_Java_6、面向对象——继承和多态
继承 •继承是面向对象编程的三大特征之一,是一种基于已有类来创建新类的机制.由继承而得到的类称为子类(或派生类),被继承的类称为父类(或超类). •Java中每个类只允许有一个父类.语法如下:clas ...
- python中的单继承,多继承和mro顺序
python作为一门动态语言,是和c++一样支持面向对象编程的.相对对象编程有三大特性,分别是继承,封装和多态.今天我们重点讲解的是,python语言中的单继承和多继承. 继承概念: 如果一个类继承了 ...
- C++编程思想:继承与虚函数以及多态
文章目录 简介 实现虚函数多态的技术原理 对象切边 析构函数和构造函数中的虚函数 使用继承的类的析构函数应该使用虚函数修饰符 简介 继承与虚函数与多态是浑然一体的三个概念,父类中虚函数可以表现出多态特 ...
- java多态和继承_Java学习--继承与多态
1.何时使用继承 1.1符合 *** is a ***的规则,即双方可以相互依存,亦可保持独立: 1.2可实现代码复用 即当大家的代码块具有相似或类似时,我们可以抽象出一些公共的属性及方法作为父类,子 ...
- java 抽象封装多态_java面向对象(封装,继承,多态,抽象,接口的定义和实现)...
1.封装 在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定 ...
最新文章
- 计算机专业大学排名_计算机专业大学排名公布:大连大学、辽宁师范大学冲进前一百...
- 最新翻译的官方PyTorch简易入门教程(PyTorch1.0版本)
- JavaScript的运动——弹性运动原理及案例
- woe分析_Python数据分析—apply函数
- 比较创建几种线程的方式
- ElasticSearch6.x 7.x Elasticdump 在线安装、离线安装
- php mongodb 视频教程,燕十八mongodb视频资料分享
- 罗振宇2021跨年演讲2:除了规模中国还有什么优势?
- python堆排序的库_Python:堆排序
- Ubuntu替换pip源
- CentOS 7 之安装 Oracle 11gR2
- 何建坤:实施能源革命战略 促绿色低碳发展
- js使用高德地图api实现定位,行政区域划分,点击事件,只显示某个省市或区,海量点标记
- html+dwcs6代码,Dreamweaver cs6如何快速整理代码?
- 关于基金知识的一些整理
- linux桌面鼠标可动 但点其他,电脑鼠标能动但点不了的两种解决方法
- 图神经网络学习过程心得总结
- Python 【爬虫3】_微信小程序_小游戏数据助手数据爬取
- gaynbsp;andnbsp;lalanbsp;超短小说
- 针对青少年学生负担过重现象
热门文章
- python数据结构与算法 河内塔问题
- Codeforces Round #807 (Div. 2) A-C
- kettle运行spoon.bat时找不到javaw文件 bug报错
- Python深度学习“四大名著”之一全新PyTorch版
- 2001年计算机等级考试上机题,2001年9月计算机等级考试二级C语言上机试题
- 2022资料员-岗位技能(资料员)理论题库及在线模拟考试
- Structured Threat Information eXpression
- 微信CRM和微博CRM的相同和不同
- 游戏思考24:游戏寻路算法思考和Unity场景相关代码开发原则及导入地图数据(10/09)
- 计算机进入怎么解决办法,电脑开机进不了系统怎么办 电脑开机进不了系统解决方法【介绍】...