Frage

Was ist eine Wrapper-Klasse?
Wie sind solche Kurse nützlich?

War es hilfreich?

Lösung

Im Allgemeinen ist eine Wrapper-Klasse ist jede Klasse, die „Wraps“ oder die Funktionalität einer anderen Klasse oder Komponente „verkapselt“. Diese sind nützlich, um ein Niveau der Abstraktion von der Implementierung der darunterliegenden Klasse oder Komponente bereitstellt; zum Beispiel Wrapper-Klassen, die COM-Komponenten wickeln können den Prozess des Aufrufs die COM-Komponente verwalten, ohne die Telefonvorwahl damit zu belästigen. Sie können auch die Verwendung des zugrunde liegenden Objekts vereinfachen, indem die Anzahl Schnittstelle Punkte reduziert beteiligt; häufig, macht dies für eine sicherere Nutzung der zugrunde liegenden Komponenten.

Andere Tipps

Genau das, was es klingt: eine Klasse, die „Wraps“ die Funktionalität einer anderen Klasse oder API in einer einfacheren oder nur verschiedenen API.

Siehe: Adapter Muster , Fassadenmuster

Wrapper-Klassen bieten eine Möglichkeit, primitive Typen als Objekte zu verwenden. Für jede primitive, haben wir eine Wrapper-Klasse, wie

int Integer
byte Byte 

Integer und Byte sind die Wrapper-Klassen primitiver int und Byte. Es gibt Zeiten / Einschränkungen, wenn Sie die Grundelemente verwenden müssen als Objekte so Klassen-Wrapper einen Mechanismus wie Boxen / Unboxing genannt bieten.

Konzept kann auch durch das folgende Beispiel als

zu verstehen
double d = 135.0 d;
Double doubleWrapper = new Double(d);

int integerValue = doubleWrapper.intValue();
byte byteValue = doubleWrapper.byteValue();
string stringValue = doubleWrapper.stringValue();

so dies der richtige Weg ist, können wir Wrapper-Klasse-Typ verwenden, um in andere primitive Typen als auch zu konvertieren. Diese Art der Umwandlung wird verwendet, wenn Sie eine primitive Art zu konvertieren und andere Primitive als well.Though für diesen Ansatz bekommen zu verwenden, um das Objekt, benötigen Sie einen großen Code zu schreiben. Jedoch kann das gleiche mit dem einfachen Gießtechnik erreicht wird als Code-Snippet kann wie unten

erreicht werden
double d = 135.0;
int integerValue = (int) d ;

Obwohl doppelte Wert explizit auch als Downcasting genannt Integer-Wert umgewandelt wird.

Eine Wrapper-Klasse muss nicht unbedingt eine andere Klasse wickeln. Es könnte eine API-Klasse Verpackungsfunktionalität in beispielsweise sein, eine DLL-Datei.

Zum Beispiel könnte es sehr nützlich sein, eine DLL-Wrapper-Klasse zu erstellen, die Pflege aller DLL-Initialisierung und Bereinigung nimmt und Klassenmethoden erstellen, die Wrap-Funktionszeiger von z erstellt GetProcAddress().

Cheers!

Eine Wrapper-Klasse ist eine Klasse, die „Wraps“ um etwas anderes, wie sein Name nur.

Je mehr formale Definition, es wäre eine Klasse sein, die die Adapter Pattern href="http://en.wikipedia.org/wiki/Adapter_pattern" implementiert. Auf diese Weise können Sie einen Satz von APIs in eine nutzbare, lesbarer Form ändern. Zum Beispiel in C #, wenn Sie die native Windows-API verwenden möchten, hilft es, sie in eine Klasse zu wickeln, die auf die .NET-Design-Richtlinien entspricht.

Es gibt mehrere Entwurfsmuster, die Wrapper-Klassen aufgerufen werden kann.

Siehe meine Antwort auf „ Wie die Proxy, Ausstatter, Adapter und Brücke Muster unterscheiden? "

Es könnte auch nützlich sein, dass in einigen Umgebungen zu beachten, viel von dem, was Wrapper-Klassen tun könnte durch Aspekte ersetzt wird.

EDIT:

In der Regel ist ein Wrapper auf expandieren wird, was die wrappee tut, ohne von der wrappee über die Umsetzung betroffen zu sein, sonst gibt es keinen Punkt der Verpackung im Vergleich zu der verpackten Klasse erstreckt. Ein typisches Beispiel ist Timing-Informationen oder Logging-Funktionalität um eine andere Service-Schnittstelle hinzuzufügen, im Gegensatz es zu jeder Implementierung dieser Schnittstelle hinzufügen.

Dies ist dann endet ein typisches Beispiel für Aspect Programmierung zu sein. Anstatt durch die Funktion durch eine Schnittstellenfunktion zu gehen und vorformulierten Protokollierung Hinzufügen in Aspekt Programmierung definieren Sie eine pointcut, die für Methoden eine Art regulärer Ausdruck ist, und dann Methoden erklären, die Sie vorher ausgeführt haben wollen, nach oder um alle passenden Methoden die pointcut. Es ist wahrscheinlich fair, dass Aspekt Programmierung zu sagen, eine Art der Verwendung des Dekorierermuster ist, die Wrapper-Klassen auch für verwendet werden können, sondern dass beide Technologien andere Verwendungen haben.

Wrapper-Klasse ist eine Klasse, die die andere Klasse wickelt und die Abstraktion zwischen Client und der ursprünglichen Klasse bietet gewickelt wird.

eine Wrapper-Klasse ist in der Regel eine Klasse, die ein Objekt als Privateigentum hat. der Wrapper implementiert, dass private API des Objekts und so kann es als ein Argument, wo das private Objekt würde übergeben werden.

sagen Sie eine Sammlung, und Sie wollen eine Art von Übersetzung verwenden, wenn Objekte hinzugefügt werden - schreiben Sie eine Wrapper-Klasse, die alle der Sammlung der Methoden hat. wenn add () aufgerufen wird, übersetzen die Wrapper die Argumente anstatt nur sie in der Privatsammlung übergeben.

kann die Hülle an jedem Ort eine Sammlung verwendet werden kann, verwendet werden, und das private Objekt noch andere Objekte darauf zu verweisen und lesen.

eine Wrapper-Klasse ist eine Klasse, die verwendet wird, eine andere Klasse wickeln eine Schicht aus Indirektion und Abstraktion zwischen dem Client und dem ursprünglichen Klasse zu umhüllenden hinzuzufügen.

Wrapper-Klasse ist ein Wrapper um einen primitiven Datentyp. Es stellt primitive Datentypen in den entsprechenden Klasseninstanzen z.B. ein boolean-Datentyp kann als eine Boolesche Klasse Instanz dargestellt werden. Alle der Wrapper-Klasse in Java sind unveränderlich das heißt einmal nicht weiter verändert werden kann ein Wert auf eine Wrapper-Klasse Instanz zugewiesen.

Java-Programmierung bietet Wrapper-Klasse für jede primitive Datentypen, eine primitive Datentypen zu konvertieren Objekt der Wrapper-Klasse zu entsprechen.

Um eine Wrapper-Klasse Wohlbefinden zu machen ist keine leichte Aufgabe. Um eine Wrapper-Klasse zu verstehen, wie es von einigen anderen ausgelegt ist, ist auch keine leichte Aufgabe. Denn es ist Idee, nicht-Code. Erst wenn Sie die Idee zu verstehen, können Sie Wrapper verstehen.

Wrapper-Klassen kamen in der Existenz ein Grundbedürfnis von Programmierern zu erfüllen - das heißt primitive Werte zu verwenden, wo immer nur Objekte erlaubt sind. Wie ihr Name um einen Grundwert wickeln Wrapper-Klassen schlägt und den Wert in einem Objekt halten. Also, all die Orte, an denen Primitiven nicht erlaubt waren - wie Generika, hashmap-Schlüssel, etc Arraylisten - Programmierer haben nun die Möglichkeit, diese primitiven Werte wie der entsprechenden Wrapper-Typ bereitstellt

.

Darüber hinaus diese Wrapper-Typen haben eine Reihe von Hilfsmethoden für von Urtyp Umwandlung Wrapper-Typen entsprechen, und zurück, und auch von Strings Typen Wrapper und zurück.

Ich habe in einem meinem Blog einen ausführlichen Artikel über Wrapper-Klassen geschrieben, die das Konzept der Wrapper-Typen in der Tiefe erklärt - http://www.javabrahman.com/corejava/java-wrapper-classes-tutorial-with-examples/ (Offenlegung - Dieser Blog wird von mir gehört)

Ich habe zur Zeit eine Wrapper-Klasse für mein Projekt und die wichtigsten Vorteile, die ich bekommen (nur ein einziger Nutzen Sie das Thema Erklärung zu erweitern):

Ausnahmebehandlung: Meine Hauptklasse, dass eine andere Klasse Wraps, hat Methoden, die Ausnahmen werfen, wenn eine auftritt, so habe ich eine Wrapper-Klasse, die die Ausnahmen behandelt und protokolliert sie sofort. Also, meinen wichtigsten Bereich, gibt es keine Ausnahmebehandlung. Ich nenne nur ein Verfahren und etwas tun.

Einfache Verwendung: ich das Objekt leicht initiieren kann. Normalerweise wird die Einleitung Phase einer Menge von Schritten aufgebaut.

Code-Ablesbarkeit:. Wenn ein anderer Programmierer meinen Code öffnet, wird der Code scheint sehr klar und einfach zu manipulieren

Ausblenden der Details: Wenn Sie eine Klasse erzeugen, die ein anderer Programmierer verwenden wird, dann können Sie die Details wie wrap „Fehlerbehandlung, Ausnahmebehandlung, Protokollierung Meldungen und etc ...“, so dass der Programmierer nicht sein haben das Chaos zu handhaben, einfach nur verwendet, um die Methoden.

Eine Wrapper-Klasse ist eine Klasse, die etwas zu halten und das Hinzufügen einiger Funktionalität zu den alleinigen Zweck dient. In Java, da die Grundelemente (wie ints, Schwimmern, Zeichen ...) sind nicht Objekte so, wenn man sie behandeln wollen wie man dann müssen Sie eine Wrapper-Klasse verwenden. Angenommen, Sie ein Foto von Ints erstellen möchten, ist das Problem ein Vektor nur Objekte hält nicht Primitiven. Also, was Sie wird alles tun, die Ints in einem Integer-Wrapper setzen und diese verwenden. Beispiel:

int number = 5;
Integer numberWrapped = new Integer(number);
//now you have the int in an object.
//and this is how to access the int value that is being wrapped.
int again = numberWrapped.intValue();

Ein Wrapper ist eine Klasse, die zur Kommunikation zwischen zwei verschiedenen Anwendungen auf verschiedenen Plattformen verwendet wird

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top