コンテンツへスキップ
uencoder

Polymorphism

ポリモーフィズム(多態性)は、同じインターフェースが異なる型のインスタンスを操作できるようにする仕組みであり、静的(オーバーロード/ジェネリクス)と動的(オーバーライド/仮想メソッド)の2形式がある。

目的

統一されたインターフェースで異なる型を扱い、コードの再利用性と拡張性を高める。

メカニズム

静的ポリモーフィズム:オーバーロード(同名で引数違い)とジェネリクス(コンパイル時にインスタンス化)。動的ポリモーフィズム:オーバーライド(サブクラスが親メソッドを置換)をvtable経由でディスパッチする。Goは暗黙実装のインターフェース、Rustはtraitオブジェクトを使う。

ユースケース

  • オブジェクト指向設計
  • インターフェースの抽象化
  • コードの再利用

関連用語

References