![]() |
OOP zum 2. -- Lösungen | Anregungen | Repository --
Angeregt durch den Thread
![]() Mir schwebt vor, wie auch im Titel steht, dass ihr OOP-Profis da draußen, uns Unwissende :mrgreen: helfen könnt, mehr OOP in unsere Codes zu bringen! Was ich möchte:
p.s. Das soll keine Nötigung zu einem OOP-Lehrgang sein, davon gibt es schon genug, sondern nur die Bitte um ein paar kurze Codezeilen u.ä. -nur als Anregung sozusagen. :P |
in meinem progamm benutze 6 verschlüsselungen, die alle über die TMainClass angesteuert werden.
Delphi-Quellcode:
und die 6 verschlüsselungen werden nach tmainclass erzeugt, z.b.
type
TMainClass = class // Variablen // Methoden ; virtual; end;
Delphi-Quellcode:
so muss ich im gesamten programm nur z.b. einmal schreiben
type
TRSA = class(TMainClass) // Variablen // Methoden (get und set); override; end;
Delphi-Quellcode:
und wenn ich eine verschlüsselung benutzen willvar MainClass: TMainClass
Delphi-Quellcode:
so muss ich im gesamten code nur MainClass benutzen! Das spart zeit und arbeit.
MainClass := TRSA.Create;
ich hoffe, das istn gutes praxisbeispiel! |
@APP: Was erwartest du? Ein Buch / Tutorial kann dir die Theorie erstmal nur allgemein vermitteln und es dann an einem exemplarischen Beispiel verdeutlichen. In der Praxis wirst du immer wieder neue Lösungen suchen müßen, da du jedes mal wieder ein anderes Problem zu lösen hast bzw. eine andere Aufgabenstellung hast. Es können hier noch so viele Leute ihre OOP-Lösungen präsentieren, bei deinem nächsten Programm mußt du doch wieder was eigenes entwickeln. Und da ist es halt gut, wenn man die Theorie drauf hat und die Grundlagen kennt. Darauf kann man dann auf bauen und seine eigene Lösung für das Problem entwickeln. Und dann hilft dir die OOP-Lösung eines anderen zu einem vollkommenen anderen Problem auch nicht.
|
@Luckie,
da bin ich sozusagen ein Dinosaurier :pale: der vom Aussterben bedroht ist, denn, ich wiederhole mich, ich habe die Theorie drauf, ich kann Komponenten ableiten und neue Eigenschaften einführen, ich verstehe die OOP in der Theorie, aber irgendwie fehlt mir der Praxisbezug (das AHA-Erlebnis, oder das "jetzt hat es Klick gemacht Erlebnis") in der klassischen OOP. Meine kleinen Tools und DB-Schnittstellen schreien nicht gerade nach OOP. Ich will auch keine Lösungen von Anderen kopieren, sondern sie als "Inspiration" sehen. Aber als Einstieg ist das, was mirage228 schrieb gerade richtig, er hat exakt verstanden was ich will! |
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.... |
@svehei,
schön langsam mach es leise "Klick" und das Brett vorm Kopf verschwindet :idea: Danke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz