zoukankan      html  css  js  c++  java
  • 单例模式

    模式定义:

    单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。

    三个关键点:

    1. 该类只能有一个实例;

    2. 它必须在类内部自行创建这个实例;

    3. 它必须自行向整个系统提供这个实例。

    class Singleton(object):
        _instance = None
        def __new__(cls, *args, **kw):
            if not cls._instance:
                cls._instance = super().__new__(cls, *args, **kw)
                cls._instance._age = 20
            return cls._instance
        
    class SingleBoy(Singleton):
        
        def grow(self):
            self._age += 1
        
        @property
        def age(self):
            return self._age
        
        def __repr__(self):
            return str(self._age)
    
    me = SingleBoy()
    you = SingleBoy()
    he = SingleBoy()
    print(str(id(my))+"
    "+str(id(you))+"
    "+str(id(he)))
    >>>
    1258485744472
    1258485744472
    1258485744472
    
  • 相关阅读:
    Excel VB Script
    Excel Text Converter as C# Format
    快捷键
    如何使用 MasterPage
    Excel 오른쪽버튼 윗주
    Oracle Hints
    ASP.NET 弹出窗口
    Log4Net
    word 修改 表宽度
    While 나가는 법
  • 原文地址:https://www.cnblogs.com/zenan/p/10315677.html
Copyright © 2011-2022 走看看