Pythonクラスが別のクラスを呼び出す仕組み
クラス内の別のクラスを呼び出すには、呼び出し元のクラスのインスタンス化されたオブジェクト経由で行います。
次のコードは一例です。
class ClassA:
def __init__(self):
self.name = "ClassA"
def say_hello(self):
print("Hello from ClassA")
class ClassB:
def __init__(self):
self.name = "ClassB"
self.class_a = ClassA() # 实例化ClassA类
def call_class_a(self):
print(f"Calling ClassA from ClassB: {self.class_a.name}")
self.class_a.say_hello()
# 实例化ClassB类
b = ClassB()
# 调用ClassB的方法,该方法调用了ClassA
b.call_class_a()
結果は以下の通りです。
Calling ClassA from ClassB: ClassA
Hello from ClassA
コード例では、ClassAとClassBという2つのクラスが定義されています。ClassBの__init__メソッドではClassAのインスタンスclass_aが作成され、ClassBのcall_class_aメソッドではClassAのsay_helloメソッドが呼び出されています。
別のクラスの属性とメソッドを1つのクラスで呼出すことが出来るようになる。