如何防止特定方法被覆盖?

kre*_*mik 3 php php-5.3

我有一个父类:

class parent{
   var $a = 'param1';
   var $b = 'param2';
   public summary(){
      if($this->a<0 || $this->b<0)
         return FALSE;
      return $this->a+$this->b;
   }
   public set_null(){
      $this->a = null;
      $this->a = null;
   }
}
Run Code Online (Sandbox Code Playgroud)

我需要阻止摘要方法覆盖子类,也许我的团队不知道之前是否存在摘要方法.

class child extends parent{
   public summary(){
      return $this->a+$this->b;
   }
   public set_null(){
      $this->a = 0;
      $this->b = 0;
   }
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

小智 12

您可以在父类中的summary()方法定义之前使用final修饰符来执行此操作.