Wrapper-Klasse erstellen, aber wie?
-
Hey @all,
ich lese überall was von Wrapper-Klassen, nur fange ich mit dem Begriff nicht so wirklich was an, ist das eine Sub-Klasse (Vererbung), oder was anderes.Wenn es etwas anderes ist, kann mir dann jemand anhand eines Beispiels zeigen bzw. erklären was das ist?
Vielen Dank im Voraus
MfG smog_at
-
-
Das heißt ich kann beispielsweise eine function in c in c++ über eine Method einer klasse implementieren, und die dann weiter einschränken (mit private usw.)?
Habe ich das richtig verstanden?
MfG smog_at
-
Ein Wrapper umhüllt einen anderen Typ und bietet nur eine andere Schnittstelle ohne neue Funktionalität an. Schnittstellenklassen die Zugriff auf andere Klassen kontrollieren oder deren Schnittstelle anpassen nennt man auch Wrapper.
Hoffe das ist alles richtig so.Code-Hacker
-
Gibt eigentliche 2 verwendungen fuer das wort "Wrapper", wobei die auch gewisse "Gemeinschaftlichkeiten" haben.
Gibt das DesignPattern "Adapter", was teilweise auch als Wrapper bezeichnet wird. Den nimmt man, um nichtkompatible Schnittstellen anzupassen.
Sprich Dein Adapter leitet die Aufrufe von der kompatiblen schnittstelle auf die inkompatiblen des zu adaptierenden um.Technisch wirds meist ueber vererbung geloest. privat ableiten von der inkompatiblen, oeffentlich von der compatiblen.
Wrapper kann aber auch nen Klasse sein, was ein umstaendlich zu handhabendes Object komfortabel zu bedienen macht. Meistens in zusammenhang mit PDTs.
CString aus der MFC ist nen Wrapper fuer nen TCHAR * z.B.
Ne klasse die nen 64 bit Int als zeitsempel verwaltet und memberfunktionen hat, um stunde/minute/sekunde zu extrahieren/einzustellen, ist nen wrapper (COLETime z.B.).
Wrapper nimmt man auch oft, wenn man mittels C++ ne reine C Schnittstelle und deren PDTs bedienen muss. CWindow = Wrapper fuer ein windowhandle. CRect = Wrapper von RECT.also , es werden immer irgendwelche schnittstellen angepasst.
Ciao ...