猿问

如何引用超类中的子类?

我正在定义一个 PythonHoliday类和三个子类:一个用于固定日期假期,第二个用于相对假期,第三个用于浮动星期一假期。我想在超类中创建一组常量,Holiday以便应用程序可以简单地将特定假期称为


Holiday.NEW_YEARS

Holiday.CHRISTMAS

etc.

但是在实例化父类时子类显然不存在。我怎样才能做到这一点?


class Holiday(object):

    NEW_YEARS = FixedHoliday(1, 1)

    MLK_BIRTHDAY = FloatingMonday(1, 15)

    ...


肥皂起泡泡
浏览 122回答 2
2回答

慕的地8271018

一个类不能也不应该引用它的派生类。试试这个:class BaseHoliday(object):    passclass FixedHoliday(BaseHoliday):    # class code# more classesclass Holidays(object):    NEW_YEARS = FixedHoliday(1, 1)    MLK_BIRTHDAY = FloatingMonday(1, 15)
随时随地看视频慕课网APP

相关分类

Python
我要回答