小编use*_*096的帖子

在Python中用子类替换成员对象

我有以下问题,我将尝试使用以下示例进行说明.

class Brick():
    def __init__(self):
        self.weight = 1

class House():
    def __init__(self, number_bricks):
        self.bricks = [Brick() for i in range(number_bricks)]

    def get_weight(self):
        return reduce(lambda x,y: x+y, [brick.weight for brick in self.bricks])
Run Code Online (Sandbox Code Playgroud)

但现在假设我创建了一种新的Brick,StrongBrick,以便我创建一个房子,一个子类StrongHouse,StrongBrick在StrongHouse扮演与Brick在House中扮演的角色完全相同的角色.我怎样才能以一种很好的方式做到这一点(不只是重新输入所有的类定义)?

所以基本的想法是,如何将一些由一些对象组成的类更改为同一个类但是由原始成员对象的子类组成?

非常感谢你能给我的任何帮助.

python oop object-composition

3
推荐指数
1
解决办法
181
查看次数

标签 统计

object-composition ×1

oop ×1

python ×1