クラス内での関数の呼び出し
オブジェクト指向プログラミングを使用する場合、クラス内で関数を呼び出す必要がある場合があります。一般的なシナリオの 1 つは、同じクラス内で 2 つの関数を定義し、一方の関数を別の関数内から呼び出すことです。この記事では、クラス内で関数を呼び出すプロセスについて説明します。
この例では、distToPoint と isNear という 2 つの関数を持つ Coowned という名前のクラスがあります。 distToPoint 関数は 2 つの座標間の距離を計算し、isNear 関数は計算された距離に基づいて点が別の点の近くにあるかどうかを確認します。
提供される元のコードは次のとおりです。
class Coordinates: def distToPoint(self, p): """ Use pythagoras to find distance (a^2 = b^2 + c^2) """ ... def isNear(self, p): distToPoint(self, p) ...
この例ではコードでは、isNear 関数内で distToPoint 関数を呼び出そうとするとエラーが発生します。クラス内の関数を正しく呼び出すには、インスタンス (self) のメンバー関数として呼び出す必要があります。次のコードは、修正されたバージョンを示しています。
class Coordinates: def distToPoint(self, p): """ Use pythagoras to find distance (a^2 = b^2 + c^2) """ ... def isNear(self, p): self.distToPoint(p) ...
isNear 関数内で self.distToPoint(p) を使用することにより、distToPoint 関数は、座標クラスの現在のインスタンスのメンバー関数として正しく呼び出されます。
以上が別のクラス関数内からクラス関数を正しく呼び出す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。