Zum Inhalt springen
uencoder

Polymorphism

Polymorphie lässt dieselbe Schnittstelle auf Instanzen verschiedener Typen operieren, in zwei Formen: statisch (Überladung/Generics) und dynamisch (Überschreiben/virtuelle Methoden).

Zweck

Verschiedene Typen über eine einheitliche Schnittstelle behandeln und Wiederverwendbarkeit sowie Erweiterbarkeit des Codes verbessern.

Mechanismus

Statische Polymorphie: Überladung (gleicher Name, andere Parameter) und Generics (zur Compile-Zeit instanziiert). Dynamische Polymorphie: Überschreiben (Subklasse ersetzt Elternmethode), dispatched über vtables. Go nutzt implizit implementierte Interfaces; Rust Trait-Objekte.

Anwendungsfälle

  • Objektorientiertes Design
  • Schnittstellen-Abstraktion
  • Code-Wiederverwendung

Verwandte Begriffe

References