zoukankan      html  css  js  c++  java
  • 【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

    如果忍耐算是坚强 我选择抵抗 如果妥协算是努力 我选择争取
  • 相关阅读:
    项目Alpha冲刺——总结
    项目Alpha冲刺——集合
    项目Alpha冲刺 10
    项目Alpha冲刺 9
    项目Alpha冲刺 8
    项目Alpha冲刺 7
    Beta冲刺(2/7)——2019.5.23
    Beta冲刺(1/7)——2019.5.22
    项目Beta冲刺(团队) —— 凡事预则立
    Alpha 事后诸葛亮(团队)
  • 原文地址:https://www.cnblogs.com/danhuai/p/15512210.html
Copyright © 2011-2022 走看看