知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > PHP编程

PHP 重载

发布时间:2015-05-27 19:18:17作者:知识屋

PHP 重载

一个类中的方法与另一个方法同名,但是参数不同,这种方法称之为重载方法。

很遗憾因为 PHP 是弱类型的语言, 所以在方法的参数中本身就可以接收不同类型的数据,又因为 PHP 的方法可以接收不定个数的参数,所以在 PHP 里面没有严格意义上的方法重载。

PHP 中的重载是指在子类里面定义了一个和父类同名的方法,且该方法将在子类中将把父类的方法覆盖。

在子类中,因为从父类继承过来的方法可能无法访问子类定义的属性或方法,所以有时候重载是必要的。

例子:

name."
"; echo "我的年龄是:".$this->age; }}// 类的继承class Student extends Person { var $school; //学生所在学校的属性 function say() { echo "我的名字叫:".$this->name."
"; echo "我的年龄是:".$this->age."
"; echo "我正在".$this->school."学习"; } }$t1 = new Student();$t1->name = "张三";$t1->age = "18";$t1->school = "人民大学";$t1->say();?>

运行该例子,输出:

我的名子叫:张三我的年龄是:18我正在人民大学学习

提示

如果父类定义方法时使用了 final 关键字,则不允许被子类方法覆盖。

访问父类被覆盖的方法

可以通过 :: 符号来访问父类被覆盖的方法或成员属性:

function say() {    parent::say();    //或者    Person::say();    echo "我在".$this->school."上学
";}

范围解析操作符 :: 用法参见《PHP 范围解析操作符 ::》。

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜