-1

我正在使用这种模型:

  • A 类扩展 B 类
  • C 类扩展 A 类

作为我的代码的一小段示例:

class InterfaceController extends AbstractActionController
{
    public function getRole() {
        $userLogin = $this->getAuthService()->getIdentity();
        if ($userLogin != null && $userLogin != "")
        {
            $userData = $this->getUsersLoginTable()->getUserByLogin($userLogin);
            if ($userData) 
            {
                $role = $userData->user_Permissions;
            }
            else
            {
                $role = null;
            }
        }
        return $this->role;
    }    
}

class PostsController extends InterfaceController
{
    public function postsMainViewAction() {
       $layout = $this->layout();
       $layout->setTemplate('mainSite/layout');
       $view = new ViewModel();
       $view->setTemplate('Posts/posts/index');
       return array(
           'role' => $this->getRole()
       );
    }
}

示例基于 Zend Framework 2 应用程序我的问题仍然是关于 OOP 模型的更一般的问题

问题如下:“扩展类的这种使用会对应用程序性能产生负面影响吗?”

4

1 回答 1

0

您给出的示例中最薄弱的地方是您没有显示任何方法(在我回答问题时)。没有给出任何方法,我们只能说是多余的。

如果你不认为多余是一个问题,那么就没有问题。

由于也没有涉及逻辑,因此您描述的继承不会使逻辑有缺陷。

希望这可以帮助。在其他情况下,例如,如果您的类实际上有方法,请查找:

  • 组合优于继承
  • 里氏替换原则
于 2013-08-22T23:08:44.343 回答