小编Jak*_*fan的帖子

我什么时候应该创建子类而不是类的实例?

我如何知道何时将某些东西设为类而不是类的实例?例如:

如果我正在创建一个太空游戏(我不是),并且我希望环境是宇宙,我会写:

class Universe:
    def __init__(self):
        pass
Run Code Online (Sandbox Code Playgroud)

现在假设我想用星系填充我的宇宙,所以我将创建一个 Galaxy 子类,并带有大小和名称参数:

class Galaxy(Universe):
    def __init__(self, size, name):
        super().__init__(self):
    self.size = size
    self.name = name
        pass
Run Code Online (Sandbox Code Playgroud)

接下来,我想制作行星。如果是这样的话,我应该创建 Galaxy 子类的子类,对吧?

class Planet(Galaxy):
    def __init__(self, type, climate):
        super().__init__(self, size, name):
    self.type = type
    self.climate = climate
        pass
Run Code Online (Sandbox Code Playgroud)

从这里我想创建行星类型,或“家族”。解决这个问题的最佳方法是什么?子类的另一个子类?每个行星都将包含该行星家族独有的资源。我应该这样做吗:

class PlanetType(Planet):
    resources = []
    def __init__(self, resources):
        super().__init__(self, type, climate) 
    self.resources = resources
        pass
Run Code Online (Sandbox Code Playgroud)

python oop

5
推荐指数
2
解决办法
747
查看次数

标签 统计

oop ×1

python ×1