PHP 方法重写 - override
PHP 支持子类重写继承自父类的方法
如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override)也称为方法的重写
PHP 中重写父类的方法就是将方法重新声明一次,添加上需要的功能
比如下面的代码重写了 getUrl 与 getTitle 方法
function getUrl() { echo $this->url . PHP_EOL; return $this->url; } function getTitle() { echo $this->title . PHP_EOL; return $this->title; }
范例
范例中我们先声明一个 Site 类
然后声明一个 Twle 继承 Site 类
然后重写 Site 类中的 getUrl 和 getTitle 方法
<?php class Site { /* 成员变量 */ var $url; var $title; function __construct( $par1, $par2 ) { $this->url = $par1; $this->title = $par2; } function getUrl() { echo $this->url . PHP_EOL; } function getTitle() { echo $this->title . PHP_EOL; } } // 子类扩展站点类别 class Twle extends Site { var $category; function setCate($par) { $this->category = $par; } function getCate() { echo $this->category . PHP_EOL; } function getUrl() { return $this->url . PHP_EOL; } function getTitle() { return $this->title . PHP_EOL; } } $twle = new Twle('www.twle.cn','简单教程'); $twle->setCate('在线教育'); echo $twle->getTitle(); echo $twle->getUrl(); $twle->getCate(); echo '<p>PHP 基础教程 - 简单教程(www.twle.cn)</p>';
运行以上范例,输出结果如下