如何使变量专属于类?

时间:2017-03-01 06:02:27

标签: python python-3.x class oop inheritance

让我们说这是我的代码:

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有毛,而bob没有(而且所有未来的Cat都有皮毛而HairlessCat没有皮草?

更新:不是通过HairlessCat进行更改,而是将其Cat改为self.hasFur,不会向scrip提供任何其他类继承。

1 个答案:

答案 0 :(得分:3)

使用类变量。定义类似于其基类中包含的变量名称的子类将覆盖值:

class Cat:
    hasFur = True

    def __init__(self):
        self.purs = True

class HairlessCat(Cat):
    hasFur = False

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

HairlessCat创建的所有实例都将hasFur属性设置为False,将Cat设置为True