类扩展了classA,但是有classB的父...怎么样?

时间:2011-12-08 22:06:24

标签: php oop inheritance joomla

编辑:请忽略这个问题。这是我的一个蠢事:我正在看一个类(OpicControllerInsurance)并假设它是另一个类(OpicControllerInsurances)。你必须从这个问题中学到的唯一一件事就是你需要再次检查你的输入/输出,即使你认为它是无可置疑的

我有一个继承自JControllerAdmin的类(它是一个joomla项目,但它看起来不像joomla特定的问题):

jimport('joomla.application.component.controlleradmin');

/**
 * Insurance Type list controller class.
 *
 * @package     Joomla.Administrator
 * @subpackage  com_opic
 * @since       1.6
 */
class OpicControllerInsurances extends JControllerAdmin
{
...

这里是创建类实例的地方

// Instantiate the class.
   if (class_exists($class)) {
      // $class == 'OpicControllerInsurance', $config == ''
      $instance = new $class($config);         

      $test_class_name = get_class($instance); 
      // $test_class_name == OpicControllerInsurance

      $test_parent_class_name = get_parent_class($instance); 
      // $test_parent_class_name == JControllerForm
   }

现在,如果OpicControllerInsurances扩展了JControllerAdmin怎么可能它的父类是JControllerForm?这是令人沮丧的问题之一,似乎违反了基本的编程规则(这通常意味着我根本不理解规则)。

1 个答案:

答案 0 :(得分:0)

误报。

当然; oop不会那样工作。我被Joomla MVC所吸引,每个模型都有单数和复数名称(至少在此配置中)。我没有在调试器中发现OpicControllerInsurances和OpicControllerInsurance之间的区别。