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

    # new:创建对象自动调用
    # new原理:返回值,返回值对象,当前类 -- 条件满足了  init
    # 实例对象 -- instance
    class Person(object):
        cls_shuxing = None
        # 控制只做一次初始化的开关 -- 开关打开 -- 表示判断
        is_First = True
        def __new__(cls, *args, **kwargs):
            if cls.cls_shuxing == None:
                # 创建对象 -- new
                cls.cls_shuxing = super().__new__(cls)
            return cls.cls_shuxing
    
    
        def __init__(self, name,age, sex,id):
            if self.is_First == True: # 实现只做一次初始化
                self.name = name
                self.age = age
                self.sex = sex
                self.id = id
                # 关掉开关
                self.is_First = False
    
        def __str__(self):
            return '名字是%s,年龄是%s,性别是%s,id是%s' % (self.name, self.age, self.sex, self.id)
    
    dafan = Person('大凡', 18, '女',id=100)
    print(dafan)
    erfan = Person('二凡', 20, '男', id=110)
    print(erfan)
    

      

                                                                       -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

  • 相关阅读:
    945.使数组唯一的最小增量
    用两个栈实现队列
    MySQL的约束
    数据库的设计
    约束
    DQL查询
    数据库的基本概念
    SQL基础语法
    MySQL基础
    java的注解和反射
  • 原文地址:https://www.cnblogs.com/wf-skylark/p/9009448.html
Copyright © 2011-2022 走看看