为了账号安全,请及时绑定邮箱和手机立即绑定

如何引用超类中的子类?

如何引用超类中的子类?

肥皂起泡泡 2021-08-14 12:56:57
我正在定义一个 PythonHoliday类和三个子类:一个用于固定日期假期,第二个用于相对假期,第三个用于浮动星期一假期。我想在超类中创建一组常量,Holiday以便应用程序可以简单地将特定假期称为Holiday.NEW_YEARSHoliday.CHRISTMASetc.但是在实例化父类时子类显然不存在。我怎样才能做到这一点?class Holiday(object):    NEW_YEARS = FixedHoliday(1, 1)    MLK_BIRTHDAY = FloatingMonday(1, 15)    ...
查看完整描述

2 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

一个类不能也不应该引用它的派生类。试试这个:


class BaseHoliday(object):

    pass


class FixedHoliday(BaseHoliday):

    # class code


# more classes


class Holidays(object):

    NEW_YEARS = FixedHoliday(1, 1)

    MLK_BIRTHDAY = FloatingMonday(1, 15)


查看完整回答
反对 回复 2021-08-14
  • 2 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信