supper

# -*- coding: utf-8 -*-
"""
@author:yuan_x
@software:PyCharm
@file:interface_extand.py
@time:2021/1/3 11:46 上午


"""

from abc import ABC
from abc import abstractmethod


class base_node(ABC):
    """
     抽象类
    """
    @abstractmethod
    def get_node(self,**kwargs):
        pass

    @abstractmethod
    def apply_node(self,**kwargs):
        pass

    # @abstractmethod
    # def show(self,**kwargs):
    #     pass


class base_info():

    def __init__(self):
        self.db_obj=4

    def show(self):
        return 1+2


"""
注意 python3 的广度优先   class subclass(base_node,base_info) 的继承循序 

如果base_node 在前且有同名函数 则会调base_node 
   1 如果没有则调 base_info
   2 如果调整继承顺序 则会调 第一个继承的类 
   3 通过 类 名称显式的调用 show方法 base_info().show()
   4 通过 supper 显示 调用super(subclass, self).show()

"""
class subclass(base_node,base_info):
    def __init__(self):
        super().__init__()

    def show(self,**kwargs):
       # return super(subclass, self).show()
        return base_info().show()

    def apply_node(self,**kwargs):
        pass

    def get_node(self,**kwargs):
        pass

if __name__ == '__main__':
    a=subclass()
    print(a.show())

  

posted @ 2021-01-03 21:31  Yuan_x  阅读(110)  评论(0)    收藏  举报