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

4

我有一个父类:

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;
   }
}

我需要防止子类中的summary方法被覆盖, 也许我的团队不知道summary方法是否存在。
class child extends parent{
   public summary(){
      return $this->a+$this->b;
   }
   public set_null(){
      $this->a = 0;
      $this->b = 0;
   }
}

有人能帮我解决这个问题吗?(涉及IT技术)

1
你为什么还在使用 var 关键字?PHP5于2004年发布,为我们带来了 publicprotectedprivate。难道你一直在学习像 CakePHP/CodeIgniter 这样过时的东西吗? - tereško
当前的CodeIgniter仍然是垃圾吗? - kreamik
它仍然通过引用传递对象,仍然在各处使用全局状态,仍然试图重新定义MVC而不承认与之完全无关,仍然忽视OOP的每个原则、实践和法律... 是的,它仍然糟糕。 - tereško
那么CI和最好的OOP框架有什么不同呢?我的意思是,CI有什么缺陷吗?如果我们说CI有另一种PHP模式而不是OOP,可能可以为未来开发而发展,那还是垃圾吗? - kreamik
1个回答

15
您可以在父类中的summary()方法定义前使用final修饰符来实现。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接