クラス内での関数の呼び出し: 実践的なアプローチ
オブジェクト指向プログラミングでは、クラスはデータと機能をカプセル化し、それらを論理エンティティに編成します。これらのオブジェクトに対して操作を実行する必要がある場合は、クラス内でメンバー関数を定義できます。ただし、両方の関数が同じクラスで定義されている場合、ある関数を別の関数内から呼び出す方法は必ずしも明確ではありません。
問題:
次の計算を行うコードを考えてみましょう。座標間の距離:
class Coordinates: def distToPoint(self, p): # Calculate distance using Pythagoras' theorem def isNear(self, p): # How do we call distToPoint from isNear?
この例では、ある点が別の点の近くにあるかどうかを、 distToPoint 関数。 isNear 関数内でこの関数を呼び出すにはどうすればよいですか?
解決策:
同じクラス内のメンバー関数を呼び出すには、クラス (慣例により self と呼ばれます) を使用してそのメソッドにアクセスします。修正された isNear 関数は次のようになります。
class Coordinates: def distToPoint(self, p): # Calculate distance using Pythagoras' theorem def isNear(self, p): self.distToPoint(p) # Continue with other operations
distToPoint の前に self を追加することにより、座標クラスのインスタンス self でメンバー関数 distToPoint を呼び出したいことを明示的に示しています。
使用例:
このコードを使用するには、座標クラスを作成し、そのインスタンスで isNear 関数を呼び出します。
coordinates = Coordinates() coordinates.isNear(another_point)
これにより、distToPoint 関数を使用して、インスタンスの座標と指定された another_point の間の距離が計算されます。
以上がPython で、あるクラス関数を同じクラス内の別のクラス関数から呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。