php使用类继承解决代码重复的问题.docVIP

  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使用类继承解决代码重复的问题 这篇文章主要介绍了 php使用类继承解决代码重复的 问题,实例分析了继承的原理与使用技巧,非常具有实用价 值,需要的朋友可以参考下 本文实例讲述了 php使用类继承解决代码重复的问题。 分享给大家供大家参考。具体分析如下: 继承直白地说就是给一个类建一个或多个子类,要创 建子类就必须在类声明中使用extends关键字,新类名在 前,extends在中,父类名在后。 下例中,我们创建两个新类,BookP roduct和Cdpr oduct,它们都继承自ShopProduc t类。 代码如下: It;?php heade r C Content-type: text/h tml: charset =utf_8’); //从这篇开始,类名首字母一律大写,规范写法 classShop Product {//声明类 publ ic$numPages://声明属性 public$playLenth: p ublic$title : public$p roducerMain Name; publ ic$producer FirstName; p ublic$price : function _construct ($title, $fi rstNa.me, $ma. inName, $pri ce, $numPage s=0, SplayLe nth=0) { $t his-gt;titl e=$title;//给属性 title 赋传进来的 值 $this-gt: producer FirstName=$f irstName: $this-gt; p roducerMain Name=$mainN ame; $this -gt ;price=$price; $th is-gt ;numPa ges=$numPag es; $this-gt; playLent h=$playLent h; functi ongetProduc er () {//声明方法 returrT {$this-gt ;pro ducerFirstN ame}/z. /z {$th is- gt :produ cerMainName } 〃: funct iongetSumma ryLine () { $base=〃{$th is-gt:title }({$this-gt :producerMa inName},〃: $base. =〃 {$this-gt ;pro ducerFirstN ame})〃; retu rn$base: } classCdPro ductextends ShopProduct { function getPlayLeng th() { retu rn$this-gt:playLength: } function getSummaryL ine () { $ba se=/’{$this- gt;title} ({ $this-gt;pr oducerMainN ame},〃 ; $b ase. =〃 {$thi s-gt; produc erFirstName }) 〃 ; $base . =/z: playing time~{$this -gt ;playLen gth}) retu rn$base: classBookP roductexten dsShopProdu ct { functi ongetNumber OfPages () { return$thi s-gt: numPag es: } funct iongetSumma ryLine () { $base=//{$th is-gt:title }({$this-gt :producerMa inName},〃: $base. =/z {$this-gt: pro ducerFirstN ame}) ’’ ; $b ase. =//: page cont-{$this -gt: numPage s})/z; return $base; 由于子类没有定义构造方法,所以在实例化 BookProduct和Cdproduct类时,会自动调用父类Sh opProduct的构造方法。 子类默认继承了父类所有的publ ic和protecte d方 法与属性(但没有继承private方法与属性,后面会讲到 这三个关键字的作用)。也就是说,我们可以在从Cdp roduct类实例化的对象中调用getPro ducerO方法,尽管 getProduce r ()是在 ShopPr oduct 类中定义的。 将一下代码加到上面: 代码如下: $prod uct2=newCdP roduct (PHP 面向对象,〃郭,〃碗 瓢盆,7, null,〃7 小时〃)

文档评论(0)

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

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

1亿VIP精品文档

相关文档