---恢复内容开始---
---恢复内容开始---
三大原则 :
开放封闭原则 :
依赖倒置原则 :
接口隔离原则 :
新式类和经典类的几个区别
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):
---恢复内容结束---
---恢复内容结束---