• 【Python】接口定义及实现


    一、无返回值

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    @Time    :
    @Author  :
    @File    :
    @Version :1.0
    @Function:
    """
    
    
    # 定义接口
    class InterfaceRoot(object):
        def get_a(self):
            pass
    
        def get_b(self):
            pass
    
        def get_c(self):
            pass
    
    
    # 接口实现1
    class Impl1InterfaceRoot(InterfaceRoot):
        def get_a(self):
            print("Impl1_a")
    
        def get_b(self):
            print("Impl1_b")
    
    
    # 接口实现2
    class Impl2InterfaceRoot(InterfaceRoot):
        def get_a(self):
            print("Impl2_a")
    
        def get_b(self):
            print("Impl2_b")
    
        def get_c(self):
            print("Impl2_c")
    
    
    if __name__ == '__main__':
        print('Impl1InterfaceRoot 实现')
        Impl1InterfaceRoot().get_a()
        Impl1InterfaceRoot().get_b()
        Impl1InterfaceRoot().get_c()
        print('Impl2InterfaceRoot 实现')
        Impl2InterfaceRoot().get_a()
        Impl2InterfaceRoot().get_b()
        Impl2InterfaceRoot().get_c()

    输出

    Impl1InterfaceRoot 实现
    Impl1_a
    Impl1_b
    Impl2InterfaceRoot 实现
    Impl2_a
    Impl2_b
    Impl2_c

    二、有返回值

     -> 后面表示说明此方法的返回值(注释作用)

     ... 表示返回值可以有0个或多个

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    @Time    :
    @Author  :
    @File    :
    @Version :1.0
    @Function:
    """
    
    
    # 定义接口
    class InterfaceRoot(object):
        def get_a(self) -> int: ...
    
        def get_b(self) -> int: ...
    
        def get_c(self) -> int: ...
    
    
    # 接口实现1
    class Impl1InterfaceRoot(InterfaceRoot):
        def get_a(self):
            print("Impl1_a")
            return '接口实现1 get_a 返回值'
    
        def get_b(self):
            print("Impl1_b")
    
    
    # 接口实现2
    class Impl2InterfaceRoot(InterfaceRoot):
        def get_a(self):
            print("Impl2_a")
    
        def get_b(self):
            print("Impl2_b")
    
        def get_c(self):
            print("Impl2_c")
    
    
    if __name__ == '__main__':
        print('---------------------------------------Impl1InterfaceRoot 实现')
        print(Impl1InterfaceRoot().get_a())
        Impl1InterfaceRoot().get_b()
        Impl1InterfaceRoot().get_c()
        print('---------------------------------------Impl2InterfaceRoot 实现')
        print(Impl2InterfaceRoot().get_a())
        Impl2InterfaceRoot().get_b()
        Impl2InterfaceRoot().get_c()

    输出:

    ---------------------------------------Impl1InterfaceRoot 实现
    Impl1_a
    接口实现1 get_a 返回值
    Impl1_b
    ---------------------------------------Impl2InterfaceRoot 实现
    Impl2_a
    None
    Impl2_b
    Impl2_c

    如果忍耐算是坚强 我选择抵抗 如果妥协算是努力 我选择争取
  • 相关阅读:
    WCF进阶01 服务配置
    资源学习备忘 04
    .NET IoC主流框架 01:Castle Windsor Registering components onebyone
    IIS URL重写模块和ASP.NET路由组件比较
    资源学习备忘 03
    开源组件DockPanel Suite使用
    Dockable Window开源组件分享
    WCF进阶02 服务承载
    Prometheus 初探和配置(安装测试)
    TF31003错误的解决办法
  • 原文地址:https://www.cnblogs.com/danhuai/p/15512210.html
Copyright © 2020-2023  润新知