ポリモーフィズムの理解


ポリモーフィズムの利点は、柔軟性と拡張性です。異なるクラスのオブジェクトを同じ型として扱うことができるため、コードの再利用性が高まります。また、新しいクラスを追加する際に既存のコードを変更せずに拡張することができます。

以下に、JavaとPythonのコード例を示します。

Javaの例:

// Animal クラスを定義します
class Animal {
  public void makeSound() {
    System.out.println("動物が音を出します");
  }
}
// Dog クラスを定義し、Animal クラスを継承します
class Dog extends Animal {
  @Override
  public void makeSound() {
    System.out.println("ワンワンと鳴きます");
  }
}
// Cat クラスを定義し、Animal クラスを継承します
class Cat extends Animal {
  @Override
  public void makeSound() {
    System.out.println("ニャーニャーと鳴きます");
  }
}
public class Main {
  public static void main(String[] args) {
    Animal animal1 = new Dog();  // Dog オブジェクトを Animal 型として扱う
    Animal animal2 = new Cat();  // Cat オブジェクトを Animal 型として扱う
    animal1.makeSound();  // ワンワンと鳴きます
    animal2.makeSound();  // ニャーニャーと鳴きます
  }
}

Pythonの例:

# Animal クラスを定義します
class Animal:
  def make_sound(self):
    print("動物が音を出します")
# Dog クラスを定義し、Animal クラスを継承します
class Dog(Animal):
  def make_sound(self):
    print("ワンワンと鳴きます")
# Cat クラスを定義し、Animal クラスを継承します
class Cat(Animal):
  def make_sound(self):
    print("ニャーニャーと鳴きます")
animal1 = Dog()  # Dog オブジェクトを作成
animal2 = Cat()  # Cat オブジェクトを作成
animal1.make_sound()  # ワンワンと鳴きます
animal2.make_sound()  # ニャーニャーと鳴きます

以上がポリモーフィズムの概念とコード例です。ポリモーフィズムを活用することで、柔軟性の高いプログラムを作成することができます。