PHP面向对象-继承详解重点.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PHP继承定义两个类:class Book {public $goods_name;public $goods_price;public $author;public $publisher;}class Phone {public $goods_price;public $goods_name;public $brand;public $mode;}书与电话有共同的属性,可以提取class Goods {public $goods_name;public $goods_price;}因此在书类与电话类中这两个属性可以不用写,但书与电话类中就已经没有了这两个属性于是就用到了继承:继承定义:如果一个对象A,使用了另一个对象B的成员,那么我们就称A对象继承了B对象示例:class Goods {????public $goods_name;????public $goods_price;}class Book extends Goods {????public $author;????public $publisher;}$b = new Book;var_dump($b);输出结果为:object(Book)#1 (4) { [quot;authorquot;]=gt; NULL [quot;publisherquot;]=gt; NULL [quot;goods_namequot;]=gt; NULL [quot;goods_pricequot;]=gt; NULL }语法:使用关键字:extends 让一个类继承自另一个类TIPS :?继承概念体现在对象上,语法体现在类上此时,特定的称谓:以上的示例中:Goods:称类为父类,基础类Book:称为子类,扩展类语法意义就是面向对象中的代码重用!单继承指的是,一个类,只能存在一个父类(基础类),不能同时继承多个类下面的这种继承就是错误的:class StoreBook extends Goods,Book {????public $age = 3;}instanceof,是否是某类实例体现:一个对象如果是子类的实例,同时也是父类的实例!(实例,通过该类实例化的对象)重写,是个现象!class Goods {public $goods_name = ginvip;public $goods_price;}class Book extends Goods{public $goods_name = 《gin-php》;public $author;public $publisher;}$b1 = new Book;var_dump($b1);输出结果为:object(Book)#1 (4) { [quot;goods_namequot;]=gt; string(13) quot;《gin-php》quot; [quot;authorquot;]=gt; NULL [quot;publisherquot;]=gt; NULL [quot;goods_pricequot;]=gt; NULL }如果子类与父类出现同名的成员(属性方法),则在实例化子类对象时,只会得到子类中定义的成员,称之为重写!方法也可以重写:class Goods {public $goods_name = ginvip;public $goods_price;public function SayPrice() {echo $this-gt;goods_price;}}class Book extends Goods{public $goods_name = 《gin-php》;public $author;public $publisher;public function SayPrice() {echo amp;,$this-gt;goods_price;}}$b1 = new Book;$b1-gt;goods_price = 1234.15;$b1-gt;SayPrice();输出结果为:amp;1234.15一旦重写,父类的代码就不会执行!但是,有些方法是一定会重写的,典型的是构造方法:class Goods {public $goods_name = ginvip;public $goods_price;public function __construct($name,$price) {$this-gt;goods_name = $name;$this-gt;goods_price = $price;}}class Book extends Goods{public $goods_name = 《gin-php》;public $author;public $publisher;public functio

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档