Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by stahli,
26. Jun 2020
Schönes Video wieder :thumb:
Statt TInterfacedObject kann man auch von TInterfacedPersistent ableiten, wenn man die automatische Referenzzählung nicht will. Die wird dort einfach abgeschaltet.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by stahli,
23. Jun 2020
Super, so soll es sein. Durch praktische Verwendung habe ich es auch erst kapiert. Dann wieder nicht .... dann wieder ja ... dann doch irgendwie wieder nicht ..... und irgendwann war es verinnerlicht.
Wenn Du magst, können wir die Aufgabe noch etwas erweitern:
Erstelle noch zwei Interfaces:
IDoA mit Methode A und
IDoB mit Methode B:
Den ersten zwei Klassen weist Du ZUSÄTZLICH IDoA...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by stahli,
22. Jun 2020
Stimmt, Du solltest also von TInterfacedObject ableiten, aber alle davon. Das ist die kleinste Klasse, die Interfaces und ARC unterstützt.
Auf keinen Fall eine Basisklasse erstellen, die procedure Log einführt. (Warum, können wir später nochmal besprechen.)
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by stahli,
22. Jun 2020
@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.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by stahli,
22. Jun 2020
Die nicht notwendige Freigabe ist ein (ggf.) positiver Effekt von Interfaces.
Der Nachteil ist die doppelte Deklaration (den möchte ich mit meinem UnitOptimizer abstellen, so dass das automatisiert gemacht wird).
Managed Records müssen nicht freigegeben werden. Wenn es nur um das Unterlassen der Freigabe geht, kann man jetzt diese benutzen.
Dann hat man allerdings nicht so etwas wie...