美文网首页
2018-01-19

2018-01-19

作者: extanstory | 来源:发表于2018-01-21 11:50 被阅读0次
    1 【简单工厂模式】
    
    class CarStore(object):
        
        def __init__(self):
            self.selectCarFactory = SelectCarFactory()
        
        def order(self,carName):
            return self.selectCarFactory.selectCar(carName)
                
    class SelectCarFactory(self,carName):
        # switch  carName == "" python 不支持 switch case
        if carName == "mini":
            return BMWCar()
        elif carName == "xxx":
            return AudiCar()
        else:
            return QQCar()
    
    class Car(object):
        def move(self):
            pass
    
    class BMWCar(Car):
        def move(self):
            print("跑的稳")
    
    class QQCar(Car):
        def move(self):
            print("跑的慢")
    
    class AudiCar(Car):
        def move(self):
            print("跑的慢")
    
    
    
    2 【工厂方法模式】#多抽取了一层
    class Store(object):
        
        def selectCar(self,carName):
            pass
        
        def order(self,carName):
            return self.selectCar(carName)
    
    class CarStore(Store):
        
        def selectCar(self,carName):
            return SelectCarFactory().selectCar(carName)
    
    class SelectCarFactory(self,carName):
        # switch  carName == "" python 不支持 switch case
        if carName == "mini":
            return BMWCar()
        elif carName == "xxx":
            return AudiCar()
        else:
            return QQCar()
    
    class Car(object):
        def move(self):
            pass
    
    class BMWCar(Car):
        def move(self):
            print("跑的稳")
    
    class QQCar(Car):
        def move(self):
            print("跑的慢")
    
    class AudiCar(Car):
        def move(self):
            print("跑的慢")
    
    
    3【__new__方法】
    
    __new__(cls): #类方法 类似于alloc
    
    4【单例模式】
    class shareInstance(object):
      __instance = None
      def __new__(cls):
        if cls.__instance == None:
              cls.__instance = object.__new__(cls)
              return cls.__instance
        else:
              return cls.__instance
    
    
    5【异常】
    try:
      xxx
      xxx
    except 异常的名字: #可以是自定义的异常,也可以是系统的异常。使用自定义的异常需要添加raise。
       print("如果捕获到异常所要做的处理")
    
    fanily#不论异常是否会触发。都最后执行该代码。
    
    异常是可以嵌套的。
    异常是可以传递的。
    
    6【if 的真假判断】
    
    但凡是为0,为空,都是假的。# 0 None,() [] {} 都是假 
    
    7【模块】
    
    通俗的讲,就是一个.PY文件 test方法
    调用 import msgnew / msgnew.test1
    调用 form nsgnew import test1 
    /test1()
    

    相关文章

      网友评论

          本文标题:2018-01-19

          本文链接:https://www.haomeiwen.com/subject/mqhooxtx.html