徐州网站关键词,工程交易服务主页,产品设计的8个方法,网站制作背景PHP面向对象三大特点学习class B extends A{public function __construct(){//两种方法都行A::test();parent::test();}}$bnew B();5、如果一个子类(派生类)的方法与父类的方法完全一样时(public#xff0c;protected)#xff0c;我们称为方法覆盖或方法重写(override)#…PHP面向对象三大特点学习class B extends A{public function __construct(){//两种方法都行A::test();parent::test();}}$bnew B();5、如果一个子类(派生类)的方法与父类的方法完全一样时(publicprotected)我们称为方法覆盖或方法重写(override)看下面的多态性三、多态性例 复制代码 代码如下:class Animal{public $name;public $price;function cry(){echo i don\t know;}}class Dog extends Animal{//覆盖、重写function cry(){echo Wang Wang!;Animal::cry();//这里不会报错能正确执行父类的cry();}}$dog1new Dog();$dog1-cry();?小结1、当一个父类知道所有的子类都有一个方法但是父类不能确定该方法如何写可以让子类去覆盖它的方法,方法覆盖(重写)必须要求子类的方法名和参数个数完全一致2、如果子类要去调用父类的某个方法(protected/public)可以使用 父类名::方法名 或者 parent::方法名3、在实现方法重写的时候访问修饰符可以不一样但是子类方法的访问权限必须大于等于父类方法的访问权限(即不能缩小父类方法的访问权限)如 父类public function cry(){} 子类 protected function cry(){} 则会报错但是子类的访问权限可以放大如父类private function cry(){} 子类 protected function cry(){} 可以正确执行扩展方法重载(overload)基本概念函数名相同但参数的个数或参数的类型不同达到调用同一个函数可以区分不同的函数在PHP5中虽然也支持重载但是和其它语言还是有很大区别的php中不能定义多个同名函数PHP5中提供了强大的“魔术”函数使用这些魔术函数我们可以做到函数重载这里我们要到到 __call,当一个对象调一个方法时而该方法不存在则程序会自动调用__call【PHP面向对象三大特点学习】相关文章