stell dir vor du hast eine klassensammlung die du alle z.b. von tobject - default - abgeleitet hast.
diese klassen werden nun alle als DataStorage-Klassen eingesetzt, also nur um properties zu schreiben und zu lesen. Alle DataStorageObjekte sollen aber ueber "SaveTO..."-prozeduren Ihre Properties in eine Datenbank oder in ein
XML-File schreiben.
da du jetzt aber noch nicht weisst, in welche datenbank (oder was auch immer) du schreiben moechtest und bekanntlicherweise jede datenbank propriaetaere funktionen hat, ist es sinnvoll fuer jede Speicherung eine eigene prozedur zu implementieren. z.b. SaveToMySQL, SaveToOracle, SaveToXML, .....
wenn du nun alle deine klassen nicht von tobject ableitest, sondern von einem eigenen object (z.b. TMyDataStreams) das wiederrum von tobject abgeleitet ist, koenntest du die prozedure in dieser klasse EINMAL implementieren und alle deine DataStorageObjekte koennten ueber diese prozedur verfuegen. genauso wunderbar ist das bei aenderungen. einmal aendern, alle geerbten objekte haben die aenderung.
das soll jetzt nur mal ein beispiel sein, fuer die anwendung von
oop gibts es sicherlich noch etliche tausende weitere praxisbeispiele....