Polymorphie

Mit dem Prinzip der Polymorphie (Vielgestaltigkeit) wird ein dynamisches Verhalten von Methoden verfolgt, das von Anzahl und Typ der übergebenen Parameter abhängt. Im Falle einer dynamisch getypten Programmiersprache wie PHP gestaltet sich dies jedoch anders als in einer statisch getypten Programmiersprache wie beispielsweise Java. Für unterschiedliche Anzahl oder Typen der erwarteten Parameter einer Methode schreibt man beispielsweise in Java mehrere Methoden mit dem gleichen Namen.

Beispiel 1.6: Polymorphie in Java


class Klasse {
  public void methode(String variable) {
    System.out.println("Ein String wurde übergeben.");
  }

  public void methode(int variable) {
    System.out.println("Ein Integerwert wurde übergeben.");
  }
}



In PHP ist die Deklaration von mehreren Methoden des gleichen Namens nicht vorgesehen. Polymorphes Verhalten von Methoden kann in PHP auf eine der folgenden Arten erreicht werden:

Beispiel 1.7: Polymorphie in PHP

<?php
class Klasse {
  public function methode($variable) {
    if (is_string($variable)) {
      print "Ein String wurde übergeben.\n";
    }
 
    else if (is_integer($variable)) {
      print "Ein Integerwert wurde übergeben.\n";
    }
  }
}
?>