PHP 满载

WBOY
WBOY원래의
2016-06-13 12:08:31965검색

PHP 重载

PHP 重载一个类中的方法与另一个方法同名,但是参数不同,这种方法称之为重载方法。很遗憾因为 PHP 是弱类型的语言, 所以在方法的参数中本身就可以接收不同类型的数据,又因为 PHP 的方法可以接收不定个数的参数,所以在 PHP 里面没有严格意义上的方法重载。PHP 中的重载是指在子类里面定义了一个和父类同名的方法,且该方法将在子类中将把父类的方法覆盖。在子类中,因为从父类继承过来的方法可能无法访问子类定义的属性或方法,所以有时候重载是必要的。例子:<?phpclass Person {    var $name;    var $age;    function say() {        echo "我的名字叫:".$this->name."<br>";	echo "我的年龄是:".$this->age;    }}// 类的继承class Student extends Person {    var $school;    //学生所在学校的属性	    function say() {        echo "我的名字叫:".$this->name."<br>";        echo "我的年龄是:".$this->age."<br>";        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."上学<br>";
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.