Schlagwort-Archiv: oo

Methoden überladen bei PHP

Ich brauche wirklich, wirklich eine PHP-Version, bei der man wie z.B. in Java Methoden überladen kann.

Innerhalb einer Klasse, nennen wir sie DieKlasse.java, können zwei Methoden mit dem gleichen Namen deklariert werden, die sich nur durch die Parameter oder deren Typ unterscheiden:

public class DieKlasse {

  public void foo() {
    System.out.println("Methode foo ohne Parameter");
  }

  public void foo(int bar) {
    System.out.println("Methode foo mit Parameter bar = " + bar);
  }

  public static void main(String[] args) {

    DieKlasse k = new DieKlasse();

    k.foo();
    k.foo(1337);
  }
}

Die Ausgabe sieht so aus:

Methode foo ohne Parameter
Methode foo mit Parameter bar = 1337

Nachtrag: Wenn man in PHP objektorientiert schreibt, dann klappt auch das Überladen. Wie in dem Beispiel oben muss man eine Klasse (beispielsweise DieKlasse) anlegen, die die Methoden enthält. Dann kann man mit $objekt = new DieKlasse(); eine Instanz erzeugen und dann mit $objekt->foo() auf die Methode foo() zugreifen.