首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >经典遗传发散

问经典遗传发散
EN

Stack Overflow用户
提问于 2012-04-12 02:09:16
回答 1查看 47关注 0票数 1

我想知道在经典的继承环境中,如果需要角色或特征,应该做些什么。我有一个类的词干沿着两条路,这两条路都来自一个根类,但是,我想将两条路上的不同类链接在一起,以共享相同的功能。如下所示:

代码语言:javascript
复制
+-- Base
 +-- Base_Processor
 | +-- Base_Processor_Request
 |  +-- Base_Processor_Request_Ajax
 +-- Base_Impl
  +-- Base_Impl_MyImpl
   +-- Base_Impl_MyImpl_Processor (extends from Base_Processor)
    +-- Base_Impl_MyImpl_Processor_Request (extends from ??)
     +-- Base_Impl_MyImpl_Processor_Request_Ajax (extends from ??)

在仍然从Base_Impl_MyImpl_Processor扩展的同时将Base_Impl_MyImpl_Processor_Request和Base_Processor_Request链接在一起,并以相同的方式链接Base_Impl_MyImpl_Processor_Request_Ajax的最佳方式是什么?

在进阶时谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-12 05:48:42

我100%同意Alex Burtsev的观点--很多级别的继承看起来就像一个依赖噩梦(而且,正如你所发现的,当你大量使用继承时,很难跨类重用特定的代码)。

通常,我不希望特征类被插入到层级结构中--在我看来,特征是独立的概念,它定义了不同实现细节的变化,因此只属于接口,而不是从基类派生

如果这是现有的代码,并且您需要在不同的派生类中重用多个元素,我认为将这些元素拆分到与您的层级结构完全无关的单独类中会更有意义。

看起来Processor、Request和Ajax作为独立的实体更好地为您服务。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10111546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档