Was enthält diese Basisklasse außer den abstrakten Methoden?
Nichts. vielleicht ein Label als Überschrift? Die Basisklasse ganz oben ist eher ein "Interface" die sagt "
Du kannst hier TDataClass-Dinge reinstecken und rausholen".
Das eigentliche Abholen der Daten aus den Edits implementiere ich dann in der abgeleiteten Klasse - wenn ich das mehrmals brauche auf unterschiedlichen ParentControls muss ich das auch mehrmals implementieren?
Nein, nur einmal, im Code für deinen abgeleiteten, konkreten Frame. Auf deinem ParentControl kannst du ja dann beliebig viele davon platzieren, aber da schlägst du dich ja nicht mehr mit irgendwelchen Edit-Feldern darin herum, sondern rufst nur noch ein Mal das
getValues()
auf, um an die eingetragenen Werte in Form deines
TDataClass
zu kommen.
Ich würde vielleicht einmal mit einem simplen Beispiel loslegen. Das sollte schnell gehen und dann wird einem das bestimmt auch klarer.
PS: Bist du dir sicher, dass du
TDataClass
wirklich als echtes
TObject
machen willst? Wenn das nur eine "dumme Datenstruktur" ohne Notwendigkeit für Dinge wie Vererbung und virtuelle Methoden ist ist würde ich das auf jeden Fall als
Record
machen, dann plagst du dich auch nicht mit Dingen wie der späteren Freigabe (
.Free()
) herum.