python -------继承 接口类

# 单继承 *****
    # 先抽象再继承,几个类之间的相同代码抽象出来,成为父类
    # 子类自己没有的名字,就可以使用父类的方法和属性
    # 如果子类自己有,一定是先用自己的
    # 在类中使用self的时候,一定要看清楚self指向谁
# 多继承 ***
    # 新式类和经典类:
        # 多继承寻找名字的顺序 : 新式类广度优先,经典类深度优先
        # 新式类中 有一个类名.mro方法,查看广度优先的继承顺序
        # python3中 有一个super方法,根据广度优先的继承顺序查找上一个类

-----------------------------------接口类------------------------------------------------------------

# java : 面向对象编程
# 设计模式   —— 接口
# 接口类 : python原生不支持
# 抽象类 : python原生支持的
from abc import abstractmethod,ABCMeta
class Payment(metaclass=ABCMeta):  # 元类 默认的元类 type
#metaclass =ABCMeta 意味着下面要写一个规范类。
    @abstractmethod
    def pay(self,money):pass   # 没有实现这个方法
# 规范 :接口类或者抽象类都可以
# 接口类 支持多继承,接口类中的所有的方法都必须不能实现 —— java
# 抽象类 不支持多继承,抽象类中方法可以有一些代码的实现 —— java
class Wechat(Payment):
    def pay(self,money):
        print(‘已经用微信支付了%s元‘%money)

class Alipay(Payment):
    def pay(self,money):
        print(‘已经用支付宝支付了%s元‘ % money)

class Applepay(Payment):
    def pay(self,money):
        print(‘已经用applepay支付了%s元‘ % money)

def pay(pay_obj,money):  # 统一支付入口
    pay_obj.pay(money)

# wechat = Wechat()
# ali = Alipay()
app = Applepay()
# wechat.pay(100)
# ali.pay(200)

面向对象资料地址

https://www.cnblogs.com/Eva-J/articles/7293890.html

原文地址:https://www.cnblogs.com/xiangrikuidebuluo/p/9561294.html

时间: 2024-10-03 22:29:01

python -------继承 接口类的相关文章

Python 实现接口类的两种方式+邮件提醒+动态导入模块+反射(参考Django中间件源码)

实现接口类的两种方式 方式一 from abc import ABCMeta from abc import abstractmethod class BaseMessage(metaclass=ABCMeta): @abstractmethod def send(self,subject,body,to,name): pass 方式二 class BaseMessage(object): def send(self, subject, body, to, name): raise NotImp

python开发面向对象基础:接口类&抽象类&多态&多继承

一,接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 开发中容易出现的问题 1 class Alipay: 2 ''' 3 支付宝支付 4 ''' 5 def pay(self,money): 6 print('支付宝支付了%s元'%money) 7 8 class Applepay: 9 ''' 1

Python抽象类和接口类

一.抽象类和接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能. 实践中,继承的第一种含义意义并不很大,甚至常常是有害的.因为它使得子类与基类出现强耦合. 继承的第二种含义非常重要.它又叫"接口继承".接口继承实质上是要求"做出一个良好的抽象,这个抽象规定了一个兼容接口,使得外部调用

Python中的接口类与抽象类

接口类 面向对象中的继承有两种用途:1)可以通过继承做到代码重用,并完成扩展:2)接口继承.所谓的接口继承就是定义一个接口类 Interface,接口类中定义了一些接口(就是函数,但这些函数都没有具体的实现),子类继承接口类,并且实现接口中的功能~ 接口继承可以使得外部调用者无需关心具体的实现细节,可用相同的方式处理继承了特定接口的所有对象,这里的前提是接口类需要做出一个很好的抽象~ class Operate_database(): # 接口类 def query(self, sql): ra

接口类的多继承

# 动物园 # 老虎 tiger 走路 游泳 # 天鹅 swan 走路 游泳 飞 # 老鹰 oldying 飞 走路 from abc import abstractmethod, ABCMeta # 接口的多继承 # 接口类 class Swim_Animal(metaclass=ABCMeta): # 游泳 @abstractmethod def swim(self): # 被继承的子类必须实现,如果子类不实现,那子类在实例化时将会报错 pass class Walk_Animal(meta

python基础--接口与归一化设计、封装、异常、网络编程

1 接口与归一化设计 1.1 归一化概念: 归一化的好处: 1.归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备某些功能就可以了,这极大降低了使用者的使用难度. 2.归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的对象集合 继承的两种用途 一:继承基类的方法,并且做出自己改变或者扩展(代码重用):实践中,继承的这种用途意义并不很大,甚至常常是有害的.因为它使得子类与基类出现强耦合. 二:声明某个子类兼容于某基类,定义一个接口类(模仿java的Interface),接口类中

day24 继承 接口 多态

抽象类与接口类 接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 class Alipay: ''' 支付宝支付 ''' def pay(self,money): print('支付宝支付了%s元'%money) class Applepay: ''' apple pay支付 ''' def pay(

Python 3 接口与归一化设计

一.接口与归一化设计: 1.归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备某些功能就可以了,这极大地降低了使用者的使用难度. 2.归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的对象集合. 二.继承的两种用途: 1.继承基类的方法,并且做出自己的改变或者拓展(代码重用):实践中,继承的这种用途意义并不是很大,甚至常常是有害的,因为他使得子类与基类出现强耦合. 2.声明某个子类兼容与某基类,定义一个接口类(模仿java的interface),接口类中定义了一些接口名(就是

python之接口与抽象类

一.接口与归一化设计 1.什么是接口 1)是一组功能集合 2)接口的功能是用于交互 3)接口只定义函数,但不涉及函数的实现 4)这些功能是相关的 2.为什么要用接口 接口提取了一群类共同的函数,然后让子类去实现该接口中的函数,即可以把接口当做一个函数的集合. 这么做的意义在于归一化,归一化就是只要是基于同一个接口实现的类,那么所有这些类产生的对象在用法上都一样. 归一化的好处: 1.归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备某些功能就行了,极大降低使用者难度. 2.归一化使得