Python基础篇(14):Python中不同类之间方法调用的四种方式详解

一、子类使用继承关系,调用父类的方法实现

class A:
    def method_a(self):
        print("这是方法A")


class B(A):
    def method_b(self):
        print("这是方法B")
        # 使用 self. 的方式调用父类的方法
        self.method_a()


b = B()
b.method_b()

二、不同类之间可以通过实例化对象进行调用

"""
定义两个类A和B,其中在B类中定义了一个接收A类实例化对象的方法,
通过创建A类的实例化对象并将其作为参数传递给B类的方法实现不同类之间的调用
"""


class A:
    def method_a(self):
        print("这是方法A")


class B:
    def method_b(self, a):
        print("这是方法B")
        a.method_a()


a = A()
b = B()
b.method_b(a)  # 将A类的实例化对象作为参数传递给B类的方法

三、静态方法不依赖于对象或类的状态,不需要实例化对象或继承类,可以直接调用

"""
定义两个类A和B,A类中定义一个静态方法,
可以通过在B类中调用A类的静态方法实现不同类之间的调用
"""


class A:
    @staticmethod
    def method_a():
        print("这是方法A")


class B:
    def method_b(self):
        print("这是方法B")
        A.method_a()   # 调用A类的静态方法


b = B()
b.method_b()

四、类方法可以在多个类之间共享调用

"""
定义两个类A和B,A类中定义一个类方法,
通过B类调用A类的类方法实现不同类之间的调用
"""


class A:
    @classmethod
    def method_a(cls):
        print("这是方法A")


class B:
    def method_b(self):
        print("这是方法B")
        A.method_a()  # 调用A类的类方法


b = B()
b.method_b()    

物联沃分享整理
物联沃-IOTWORD物联网 » Python基础篇(14):Python中不同类之间方法调用的四种方式详解

发表评论