共通メソッド
共通メソッド(Common Method)は、オブジェクト指向プログラミング(OOP)において、複数のクラス間で同じ名前やインターフェースを持つメソッドのことを指します。共通メソッドは、異なるクラスで共有され、同じ方法名を使用して異なるクラスのオブジェクトに対して同様の操作を実行できるようになります。これにより、コードの再利用性と拡張性が向上します。
共通メソッドの特徴は次の通りです:
-
メソッド名とシグネチャの一致: 異なるクラスに属する共通メソッドは、メソッド名と引数のシグネチャが一致していることが一般的です。これにより、異なるクラスのオブジェクトに同じ方法名を使用できます。
-
ポリモーフィズムの実現: 共通メソッドにより、ポリモーフィズム(多態性)が実現できます。異なるクラスのオブジェクトを同じ方法で扱うことができ、これによりコードの柔軟性が向上します。
-
インターフェースの共有: 共通メソッドは、異なるクラスが同じインターフェースを共有する場合に便利です。これにより、クラス間のコミュニケーションが容易になります。
以下は、Pythonで共通メソッドを持つ複数のクラスの例です:
python
# 基底クラス class Shape: def __init__(self, color): self.color = color def area(self): pass # このメソッドは派生クラスでオーバーライドされる # 派生クラス1 class Circle(Shape): def __init__(self, color, radius): super().__init(color) self.radius = radius def area(self): return 3.14159 * self.radius * self.radius # 派生クラス2 class Rectangle(Shape): def __init__(self, color, width, height): super().__init(color) self.width = width self.height = height def area(self): return self.width * self.height # 共通メソッドを使用する関数 def print_area(shape): print(f"{shape.color} shape has area {shape.area()}") # インスタンス化 circle = Circle("Red", 5) rectangle = Rectangle("Blue", 4, 6) # 共通メソッドを使用して異なるクラスのオブジェクトの面積を表示 print_area(circle) # Red shape has area 78.53975 print_area(rectangle) # Blue shape has area 24
この例では、共通メソッド area を持つ Shape クラスが定義されています。それから、Circle クラスと Rectangle クラスが Shape クラスを継承し、それぞれの形状に合った area メソッドを実装しています。共通メソッド print_area は、異なるクラスのオブジェクトを受け取り、それらのオブジェクトに対して共通のメソッドを呼び出して面積を表示します。これにより、異なるクラスのオブジェクトに対して同じ操作を実行できます。

ディスカッション
コメント一覧
まだ、コメントがありません