zoukankan      html  css  js  c++  java
  • final 子类禁止重写

     1 <?php
     2 //子类中编写和父类中完全一样的函数,是对父类中的函数进行重写
     3 class BaseClass{
     4     public function test() {
     5         echo "BaseClass::test called"."<br/>";
     6     }
     7     public function test1() {
     8         echo "BaseClass::test1 called"."<br/>";
     9     }
    10 }
    11 
    12 class ChildClass extends BaseClass{
    13     public function test() {
    14         echo "ChildClass::test called"."<br/>";
    15     }
    16 }
    17 $obj = new ChildClass();
    18 $obj->test();

    注意,这时,在 ChildClass 中的test中不能传入参数,否则会出错,因为父类中的test函数中没有传入参数

    如果不希望父类中的test函数被子类函数重写(可以调用,不能重写),则父类test函数改为:

    1 class BaseClass{
    2     final public function test() {
    3         echo "BaseClass::test called"."<br/>";
    4     }
    5 }

    也就是在 public function test 前面加上 final ,同样,如果不想 BaseClass 类被子类继承,则在

     class BaseClass 前加上 final 即可

  • 相关阅读:
    cf C. Vasya and Robot
    zoj 3805 Machine
    cf B. Vasya and Public Transport
    cf D. Queue
    cf C. Find Maximum
    cf B. Two Heaps
    cf C. Jeff and Rounding
    cf B. Jeff and Periods
    cf A. Jeff and Digits
    I Think I Need a Houseboat
  • 原文地址:https://www.cnblogs.com/jacson/p/4620525.html
Copyright © 2011-2022 走看看