Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
Delphi 11 Alexandria
|
AW: Schon wieder: Warum Interfaces II
22. Jun 2020, 19:20
@Benmik
Das ist eigentlich normal.
Irgendwann wird es "Klick" machen. Ab besten durch die Praktische Verwendung.
Ich stelle Dir einfach mal eine Aufgabe:
Erstelle insgesamt 100 Objekte von insgesamt 5 Klassen (direkt von TObject abgeleitet).
Jede Klasse soll eine Eigenschaft Value haben.
Eine vom Typ Boolean, String, Real usw.
Die 100 Objekte sammelst Du in einer Liste.
Die Liste übergibst Du einer Funktion Logging.
In Logging rufst Du für jedes Objekt dessen Methode Log auf.
In Log gibst Du den Wert aus Value immer als String aus.
Zwei Besonderheiten:
1) Du darfst in Logging nicht die Objekte casten.
2) Du darfst die Objekte nicht freigeben und dennoch keinen Memoryleak erhalten.
Man muss m.E. einfach damit arbeiten, um den Zweck zu verinnerlichen.
Aber man muss es auch nicht erzwingen. Wenn sich Dir der Zweck (noch) nicht erschließt, dann brauchst Du es eben nicht.
Immer wenn man Objekte castet, könnte das ein Indiz für die Sinnhaftigkeit von Interfaces sein.
Man hat letztlich eher eine Funktionalität, mit der man arbeitet. Die Classen spielen dann nicht mehr die Rolle, sondern funktionelle Einheiten.
Im obigen Beispiel ist das die Funktion "Log".
|