【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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM