Rouven: Konzeptionelles zu Funktionen

Beitrag lesen

Hi,

OK, dann geb ich dir ein Gegenbeispiel einfachster Art. Du möchtest eine Seite bauen, in der man ein Real-World Objekte bearbeiten kann, sei es Personen, Adressen, ...
Nach deiner Logik brauchst du ein oder mehrere Seiten, die folgendes machen:

[...]
gibBearbeitungsFormularFuerPersonAus(person);
[...]

[...]
gibBearbeitungsFormularFuerAdresseAus(adresse);
[...]

Wenn jetzt noch Bankinformationen hinzukommen muss du (1) eine neue Funktion schreiben und (2) diese Seite mit dem Aufruf dieser Funktion erzeugen.

Nun in objektorientiert:
Du definiert ein Interface "EditableObject", in dem die Methode "gibBearbeitungsFormularAus" definiert wird. Person, Adresse und Bankinformation sind fortan Objekte und implementieren dieses Interface.
Deine Seite verändert sich nun ganz einfach zu
[...]
myEditableObject.gibBearbeitungsFormularAus();
[...]
Neues Objekt? Kein Thema, dieser Code muss nicht mehr angepasst werden.

MfG
Rouven

--
-------------------
ie:| fl:| br:> va:| ls:& fo:) rl:( n4:{ ss:) de:] js:| ch:? mo:} zu:|