如何使变量仅限于类?

2024-09-25 00:36:09 发布

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

假设这是我的代码:

class Cat:
    def __init__(self):
        self.purs = True
        self.hasFur = True

class HairlessCat(Cat):
    def __init__(self):
        Cat.__init__(self)

jeffery = Cat()
bob = HairlessCat()

我怎样才能使它有毛发而jeffery没有毛发(而所有未来的Cat都有毛发而HairlessCat没有毛发)

更新:不是通过HairlessCat更改它,而是使它Cat不会给任何其他类对self.hasFur的继承


Tags: 代码selftrueinitdefclasscatbob
1条回答
网友
1楼 · 发布于 2024-09-25 00:36:09

使用类变量。定义与基类中包含的变量名类似的变量名的子类将重写该值:

class Cat:
    hasFur = True

    def __init__(self):
        self.purs = True

class HairlessCat(Cat):
    hasFur = False

在这种情况下,您也不需要为子类定义__init__,因为您不会更改任何内容

HairlessCat创建的任何实例都将属性hasFur设置为False,并将属性Cat设置为True

相关问题 更多 >