子类中编写跟父类完全一致的方法名 可以完成 对父类方法的重写 * 添加final关键字能让这个方法不能被子类重写 但是可以调用 final public function(); * 对不不想被任何类继承的类 可以在类前面 添加 final, final class Class(); //禁止重载方法 */ final class BaseClass { //添加final关键字能让这个方法不能被子类重写 public final function test() { echo "BasicClass::test1"; } public function test1() { echo "BasicClass::test1"; } } class ChildClass extends BaseClass { public function test($tmp = null) { echo "childClass::sss"; } } $obj1 = new ChildClass(); $obj1->test('tmp');
class BaseClass { public function test() { echo "BasicClass::test1"; } public function test1() { echo "BasicClass::test1"; } } class ChildClass extends BaseClass { const CONST_VALUE = "a const value"; private static $sValue1 = "static value <br/>"; public function test($tmp = null) { echo "childClass::sss"; parent::test(); self::called(); echo self::CONST_VALUE; echo static::$sValue1; } public function called() { echo "this is a function called<br/>"; } } $obj1 = new ChildClass(); $obj1->test();
<?php class BaseClass { public function test() { echo "BaseClass::test() called<br>"; } public final function moreTesting() { echo "BaseClass::moreTesting() called<br>"; } } class ChildClass extends BaseClass { public function test() { echo "ChildClass::test() called<br>"; } } $ins = new ChildClass(); echo $ins->test() . '<br >'; echo $ins->moreTesting();