我有“后端”和“类型”的组合。
后端:Cloudant,ElasticSearch,File,ZODB
类型:新闻,(可能是其他人)
所以我现在定义类:
Plugin
PluginCloudant (which inherits from Plugin)
PluginNews (which inherits from Plugin)
然后组合课程:
class PluginCloudantNews(PluginCloudant, PluginNews)
现在,我想动态地允许人们定义一个服务(以插件作为参数)。
服务的实现只依赖于后端,因此似乎应该自动使用该类的一部分。
我的观点是,我不应该将PluginCloudantNews
作为参数提供给服务(因为Cloudant
部分是Cloudant
服务中的逻辑结果,所以而不是具体的PluginNews
。
如何将PluginNews
传递给Service类(类型),但最终仍然使用PluginCloudantNews
功能?
某种动态继承...
它应该将PluginCloudant与类PluginNews或其他类型粘合在一起,这些类都是预先定义的。
答案 0 :(得分:1)
我不确定我是否已完全理解您的问题,但您可以动态地&#34;使用内置<div class="round-egg">
i
</div>
.round-egg {
font-size: 14px;
background: white;
color: #8DC641;
border-radius: 10px;
cursor: help;
border-bottom: none !important;
border: 4px solid #8DC641;
width: 20px;
height: 20px;
text-align: center;
}
构造类对象。以下两行产生相同的结果:
type
如您所见,class PluginCloudantNews(PluginCloudant, PluginNews): pass
PluginCloudantNews = type('PluginCloudantNews', (PluginCloudant, PluginNews), {})
有三个参数:新类的名称,要继承的基类列表,带有要添加到新类的属性的字典。