开发者社区> 问答> 正文

在类中定义多个构造器

你想实现一个类,除了使用 init() 方法外,还有其他方式可以初始化它。

展开
收起
哦哦喔 2020-04-17 15:06:46 681 0
1 条回答
写回答
取消 提交回答
  • 为了实现多个构造器,你需要使用到类方法。例如:
    
    import time
    
    class Date:
        """方法一:使用类方法"""
        # Primary constructor
        def __init__(self, year, month, day):
            self.year = year
            self.month = month
            self.day = day
    
        # Alternate constructor
        @classmethod
        def today(cls):
            t = time.localtime()
            return cls(t.tm_year, t.tm_mon, t.tm_mday)
    直接调用类方法即可,下面是使用示例:
    
    a = Date(2012, 12, 21) # Primary
    b = Date.today() # Alternate
    
    2020-04-17 15:06:57
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
继承与功能组合 立即下载
建立联系方法之一 立即下载
低代码开发师(初级)实战教程 立即下载