面向层次oop的python设计模式

2024-06-25 06:05:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我为我的项目创建了以下层次结构

具有公共方法和公共字段的抽象基类。 然后我继承了像Derived1、Derived2、Derived3等类,它们只有自己的字段和方法

hierarchy for my project

假设我对其他一些主题的类有类似的层次结构,我将每个主题打包如下:

\project folder  
    \topic1  
        Base.py  
        Derived1.py
        Derived2.py  
        ...
    \topic2  
        ...
    \topic3  
        ...
    \...  
    \my_project.py

在我的_project.py中,我想添加所有具体的类并使用它们。但我的问题是,类太多了,我不知道如何保存它们。
我是否应该将它们作为对象(组合)保存在容器中,比如像myObjects = [Derived1(),Derived2(),...]
这样的列表 或者我应该使用多重继承将所有类保持在一个类中,比如class AllinOne(Derived1,Derived2,...)(在这种情况下,我也不知道如何处理公共方法。我的意思是,如果我从基类调用公共方法,会发生什么情况?
还是有更好的解决办法


Tags: 项目方法pyproject主题base层次结构情况