python - 如何使变量专属于类?

标签 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没有(并且所有 future 的Cat都有毛皮和HairlessCat 没有)?

更新:不是通过 HairlessCat 更改它,而是使 Cat 不会向 self.hasFur 提供任何其他类继承。

最佳答案

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

class Cat:
    hasFur = True

    def __init__(self):
        self.purs = True

class HairlessCat(Cat):
    hasFur = False

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

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

关于python - 如何使变量专属于类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42524344/

相关文章:

python - 情感分析python 3亚马逊

python - 使用 if-then-else 条件和 Python 正则表达式替换

python - 停止 shutil.make_archive 向自身添加存档

objective-c - 调用父类(super class)问题

java - 如何分割java类文件(.java)

python - Qt:按钮上没有边框,使其不可点击?

python - 为什么正则表达式 findall 返回一个奇怪的\x00

python - 使用数据框中多行的信息创建新变量

python - 使用值列表构建字符串

c++ - 如何为包含 shared_ptr 的类创建复制构造函数/赋值运算符? C++