接口:

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
# from abc import abstractclassmethod,ABCMeta
# class Payment(metaclass=ABCMeta):
# @abstractclassmethod
# def pay(self,money):
# pass
# # 规范:接口类或抽象类都可以
# # 接口类:默认多继承,接口类中的所有方法都必须不能实现——java衍生的
# # 抽象类:不支持多继承,抽象类中的方法可以有一些代码的实现——java
#
# class Wcchat(Payment):
# def pay(self,money):
# print('已使用微信支付{}元'.format(money))
#
# class Alipay(Payment):
# def pay(self,money):
# print('已使用支付宝支付{}元'.format(money))
#
# class Applepay(Payment):
# def pay(self,money):
# print('已使用apple支付{}元'.format(money))
#
# def pay(pay_obj,money):
# pay_obj.pay(money)
#
# wechat = Wcchat()
# # wechat.pay(100)
# alipay = Alipay()
# # alipay.pay(100)
# pay(wechat,100)
# apple = Applepay()
# pay(apple,200)

#######################################################################################################
# 接口类
# from abc import abstractclassmethod,ABCMeta
# class walk_Animal(metaclass=ABCMeta):
# @ abstractclassmethod
# def walk(self):
# pass
# class swim_Animal(metaclass=ABCMeta):
# @abstractclassmethod
# def swim(self):
# pass
# class fly_Animal(metaclass=ABCMeta):
# @abstractclassmethod
# def fly(self):
# pass
#
#
#
# class Tiger(walk_Animal,swim_Animal):
# def walk(self):
# pass
# def swim(self):
# pass
# tiger = Tiger()
# class Oldying(walk_Animal,fly_Animal):pass
# class Swan(walk_Animal,fly_Animal,swim_Animal):pass

# 接口类:刚好满足接口隔离原则 面向对象开发的思想 规范
#######################################################################################################


# 抽象类:规范
# 一般情况下 单继承 能实现的功能都是一样的,所以在父类中可以有一些简单的代码实现
# 多继承,由于功能比较复杂,所以不容易抽象出相同的功能的具体实现写在父类中

# 接口类和抽象类都不能实例化
# 抽象类和接口类:面向对象的开发规范
# python没有接口类 ;
# python中自带多继承,所以我们直接用class实现接口类
# java里有接口Interface这个概念,
# 但由于多继承的需求,由于java本身语法不支持,所以创建了接口Interface这个概念来解决多继承的规范问题

# python中支持抽象类 ;抽象类一般情况下:单继承,不能实例化

多态
# 多态  python天生多态
# python 动态强类型语言
# 鸭子类型 不崇尚根据继承所得来的相似,只是自己实现自己的代码就可以了
# 如果两个类刚好相似,并不产生父类的子类的兄弟关系,就是鸭子类型
# list tuple 这种相似,是自己写代码的时候约束的,而不是通过父类约束的
# 优点:松耦合 ,每个相似的类之间都没有影响
# 缺点:太随意了,只能靠自觉



扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄