Doch, es macht perfekt Sinn und ist auch genau so richtig, wie du es beobachtest hast. Das ist eigentlich eine der Stärken von Vererbung, dass du Verhalten (Methoden) und Daten (Variablen/Felder) aus der Klasse mit drin hast, von der du erbst.
GetCount()
ist keine Zauberei, das gibt nur zurück, wie viele Elemente in der Liste drinstecken. Das ist ein
TMyDeviceList
genau wie auch in deiner abgeleiteten
TPCListSettings
- Es war nicht nötig, das
GetCount()
virtuell zu machen und nochmal redundant zu
override
n, und du hast das richtigerweise auch nicht noch mal gemacht.
Du kannst mit unterschiedlichen Sichtbarkeitsmodifikatoren (in Delphi
private
und
protected
) steuern, ob Unterklassen die Methoden und Daten der Elternklasse sehen und aufrufen können dürfen.
Ich bin mir sicher, dass es viele gute Delphi-Tutorials gibt, die das Konzept von Objektorientierung und dabei die Vererbung gut erklären.
PS: Bonuspunkte für dich, dass du nicht versucht hast, direkt eine Unterklasse von
TObjectList<TMyDeviceListItem>
zu erstellen - Ich sehe das so oft, raufe mir dann immer die (wenigen) Haare und denke an
Komposition an Stelle von Vererbung