MB: Ducktype

Beitrag lesen

ok das ist misst :/. Ich schreibe einen in php was auf.

  • Meinst Du das?
class Duck {
  public function quack() {
    echo "quack";
  }
}

class Foo {
  public function quack() {
    Duck.quack();
  }
}

class Bar {
  public function quack() {
    Duck.quack();
  }
}

foo = new Foo;
bar = new Bar;

foo.quack();
bar.quack();
  • Oder die Klasse Duck ersetzen durch die Funktion quack(). Duck in den Methoden fällt dann weg
  • Oder mit Interface
interface Duck {
  quack();
}

und dann das implementieren in die jeweiligen Klassen dann aber jeweils definieren.

class Foo implements Duck {
  public function quack() {
    echo "quack";
  }
}

Kommt irgend eins von denen an Ducktyping heran ?

vlg MB