---恢复内容开始---

                                                                                                                                ---恢复内容开始---

三大原则 :

开放封闭原则  :

 依赖倒置原则  :

接口隔离原则   :

新式类和经典类的几个区别

1 定义阶段 :

2子类执行父类中的同名方法:

3 继承问题:

抽象类  :最好单继承,且最好不实现具体功能

接口类 :可以多继承,且最好不实现具体功能

归一化设计 :几个类都实现了相同的方法

编程思想  :为子类做规范

实现接口类和抽象类的语法:

from abc import abstractmethod,ABCMeta

class(metaclass = ABCMeta):  父类

  @abstractmethod

  def func(self):pass

钻石继承的问题

新式类 :广度优先

    查看继承顺序 子类名.mro()

 经典类: 深度优先   博大精深

from abc import abxtractmethod,ABCMeta

class Payment(metaclass = ABCMeta):

  @abstractmethod

  def payment(self,money):pass

class Applepay()

  def payment(self,money):

    print'('apple  支付了% s 元’ %money)

class Alipay():

def payment(self.money):

  print('支付宝 支付了 %s元‘ %money)

class Wechatpay():

  def payment(self,money):

    print('微信 支付了 %s 元’ %money)

def payment(pay_obj,money):

apple =Applepay()

ali =Alipay

wechat = Wechatpay()

payment(wechat,100)

payment(apple,100)

payment(ali,100)

 

 

from abc import abstractmthod,ABCMeta

class FOO(metaclass = ABCMeta):      抽象类

  @abstractmethod

  def read(self):

    f = open()

    f.close()

@bastractmethod

def write(self):

  f = open()

  f.close()

class File(Foo):

  def read(self):

    super().read()

def write(self):

  super().write()

class Disk(Foo):

  def read(self):

    super().read()

def write(self):

  super().write()

 

form abc import abstractmethod,ABCMeta

class Fly_Animal(metaclass = ABCMeta):

  @abstractmethod

  def fly(self):pass

class Swim(self):pass

class  Tiger(Walk_Animal,Swim_Animal):

  def walk(sel):

    print('tiger is walking')

class Frog(Walk_Anima,Swim_Animal):

  def walk(self):

  pass

  def swim(self):

  pass

class Swan(Walk_Animal,Fly_Animal,Swim_Animal):

  def fly(self):

    print('')

  def swim(self):

    pass

  def walk(self):

    pass

 

 

class F:

  pass

  def test(sefl):

  print('F')

class D(F):

  pass

  def test(self):

    print('D')

class E(F):

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---恢复内容结束---

---恢复内容结束---

---恢复内容开始---

                                                                                                                                ---恢复内容开始---

三大原则 :

开放封闭原则  :

 依赖倒置原则  :

接口隔离原则   :

新式类和经典类的几个区别

1 定义阶段 :

2子类执行父类中的同名方法:

3 继承问题:

抽象类  :最好单继承,且最好不实现具体功能

接口类 :可以多继承,且最好不实现具体功能

归一化设计 :几个类都实现了相同的方法

编程思想  :为子类做规范

实现接口类和抽象类的语法:

from abc import abstractmethod,ABCMeta

class(metaclass = ABCMeta):  父类

  @abstractmethod

  def func(self):pass

钻石继承的问题

新式类 :广度优先

    查看继承顺序 子类名.mro()

 经典类: 深度优先   博大精深

from abc import abxtractmethod,ABCMeta

class Payment(metaclass = ABCMeta):

  @abstractmethod

  def payment(self,money):pass

class Applepay()

  def payment(self,money):

    print'('apple  支付了% s 元’ %money)

class Alipay():

def payment(self.money):

  print('支付宝 支付了 %s元‘ %money)

class Wechatpay():

  def payment(self,money):

    print('微信 支付了 %s 元’ %money)

def payment(pay_obj,money):

apple =Applepay()

ali =Alipay

wechat = Wechatpay()

payment(wechat,100)

payment(apple,100)

payment(ali,100)

 

 

from abc import abstractmthod,ABCMeta

class FOO(metaclass = ABCMeta):      抽象类

  @abstractmethod

  def read(self):

    f = open()

    f.close()

@bastractmethod

def write(self):

  f = open()

  f.close()

class File(Foo):

  def read(self):

    super().read()

def write(self):

  super().write()

class Disk(Foo):

  def read(self):

    super().read()

def write(self):

  super().write()

 

form abc import abstractmethod,ABCMeta

class Fly_Animal(metaclass = ABCMeta):

  @abstractmethod

  def fly(self):pass

class Swim(self):pass

class  Tiger(Walk_Animal,Swim_Animal):

  def walk(sel):

    print('tiger is walking')

class Frog(Walk_Anima,Swim_Animal):

  def walk(self):

  pass

  def swim(self):

  pass

class Swan(Walk_Animal,Fly_Animal,Swim_Animal):

  def fly(self):

    print('')

  def swim(self):

    pass

  def walk(self):

    pass

 

 

class F:

  pass

  def test(sefl):

  print('F')

class D(F):

  pass

  def test(self):

    print('D')

class E(F):

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---恢复内容结束---

---恢复内容结束---

posted on 2017-09-20 16:21  远去  阅读(108)  评论(0编辑  收藏  举报