Generisches Programmieren
|
|
- Franz Hartmann
- vor 8 Jahren
- Abrufe
Transkript
1 Generiche Programmieren homa Röfer Generiche Klaen und Interface Generiche ypen ypebound Wildcard-ypen Überetzung genericher Klaen Grenzen genericher ypen Polymorphe Methoden
2 Rückblick Vererbung Pakete java.lang.sytem.out.println("hallo") Paket Paket Klae ttribut Methode Vererbung Mehrfache Erben Speicherlayout uper fn1 fn2 fn3 Frühe/päte Binden btrakte Klaen / Schnitttellen uper fn1() fn1() fn1 fn2() fn2() fn2 B B extend extend fn2() fn2() fn3() fn3() : : a a (); (); a.fn1(); a.fn1(); b b B(); B(); b.fn1(); b.fn1(); b.fn2(); b.fn2(); b.fn3(); b.fn3(); // // Kompilierfehler! Kompilierfehler! abtract Geraet abtract Geraet int eriennummer; abtract int eriennummer; ein(); abtract ein(); interface Printable interface Printable print(); print(); PI-1: Generiche Programmieren 2
3 Motivation ; ; ( ( info info ( ( info info r; r; ; ; ; ; etinfo( etinfo( info info Problem: Zugriff nicht yp-icher! n1 n1 ("foo"); ("foo"); n2 n2 (3.14); (3.14); n0 n0 (23, (23, n1, n1, n2); n2); () () n1.; n1.; PI-1: Generiche Programmieren 3
4 Generiche Klaen Definition Generiche Klaen haben ypvariablen, die im Klaenrumpf verwendet werden können <> ypvariablen können (fat) wie ein normaler yp benutzt werden Mehrere ypvariablen ind möglich <> <> <> <> ; ; Pair<, Pair<, U> U> firt; firt; U U econd; econd; Pair( Pair( t, t, U U u) u) firt firt t; t; econd econd u; u; getfirt() getfirt() firt; firt; U U getsecond() getsecond() econd; econd; ( ( info info ( ( <> <> <> <> info info r; r; <> <> ; ; <> <> ; ; etinfo( etinfo( info info PI-1: Generiche Programmieren 4
5 Generiche ypen Generiche Interface Begriffe interface interface aggable<> aggable<> etag( etag( tag); tag); getag(); getag(); Eine generiche Klae it eine Klaendefinition, in der unbekannte ypen durch ypvariablen vertreten ind. Für generiche Interface gilt entprechende <> info Ein genericher yp it eine ypangabe, in der eine generiche Klae mit einem konkreten ypargument verehen wird <Integer> n <Integer>(23); implement implement aggable<> aggable<> tag; tag; public public etag( etag( t) t) tag tag t; t; public public getag() getag() tag; tag; Pair<Integer, > p Pair<Integer, >(28359, "Bremen"); PI-1: Generiche Programmieren 5
6 ypebound Motivation Manchmal ollen nicht alle ypen für die Belegung der ypvariablen zuläig ein, z.b. wenn e pezielle nforderungen an die ypargumente gibt Diee können durch ypebound fetgelegt werden < extend Number> Definition Ein ypebound bedeutet it kompatibel zu ypebound können Klaen und auch Interface ein uch bei Interface wird hier extend verwendet E kann mehrere ypebound pro ypvariable geben Sie werden durch & aufgezählt werden, z.b. < extend & B & C> Erter ypebound kann Klae oder Interface ein, weitere können nur Interface ein Ein ypebound legt die Mindetanforderungen für eine ypvariable fet Dadurch wird auch definiert, wa man von dieem yp an Funktionalität erwarten kann ypebound können wiederum die ypvariable enthalten < extend Comparable<>> PI-1: Generiche Programmieren 6
7 Wildcard-ypen Fragetellung Jede generiche Klae erzeugt viele generiche ypen <> erzeugt <Number>, <Integer>, <Double> Wie tehen die von einer generichen Klae erzeugten ypen zueinander? Vererbung genericher ypen Eine bleitungbeziehung zwichen ypargumenten überträgt ich nicht auf die generichen ypen <Number> n <Integer>(23); // Fehler! int int count(<?> count(<?> n) n) Die wird al Invarianz bezeichnet if(n if(n null) null) Generiche ypen können unbetimmte 0; 0; ele ypargumente nennen ele <?> nx; nx <>("foo"); + count(n.) count(n.) + nx <Integer>(1); + count(n.); count(n.); nx <Double>(3.14); Wildcard (Joke bei ypangaben PI-1: Generiche Programmieren 7
8 Covarianz genericher ypen Motivation Zu einem Wildcard-yp mit ypargument? ind alle generichen ypen der betreffenden generichen Klae kompatibel Manchmal möchte man die durch einen og. Upper-ypebound einchränken <? extend Number> nb; nb <Integer>(23); nb <>( ()); // Fehler! Definition Mit Upper-ypebound wird Covarianz für generiche ypen eröffnet llgemein gilt C<> it kompatibel zu C<? extend B>, wenn it kompatibel zu B Problem uch rray kennen Covarianz, aber tatiche ypprüfung veragt Number[ ] a Integer[23]; a[0] Double(3.14); // rraystoreexception Löung bei generichen ypen: nur Leen erlaubt <? extend Number> nb <Integer>(23); Number n nb.; nb.etinfo(3.14); // Fehler! PI-1: Generiche Programmieren 8
9 Contravarianz genericher ypen Motivation Zu einem Wildcard-yp mit ypargument? ind alle generichen ypen der betreffenden generichen Klae kompatibel Manchmal möchte man die durch einen og. Lower-ypebound einchränken <? uper Number> nb; nb <>( ()); nb <Integer>(23); // Fehler! Definition Mit Lower-ypebound wird Contavarianz für generiche ypen eröffnet llgemein gilt C<> it kompatibel zu C<? uper B>, wenn B it kompatibel zu Nur Schreibzugriff <? uper Number> nb <>( ()); nb.etinfo(1); Number n nb.; // Fehler! PI-1: Generiche Programmieren 9
10 Zuammenfaung Varianzen Invarianz Verchiedene generiche ypen ind zueinander inkompatibe unabhängig von der Kompatibilität ihrer ypargumente Bivarianz Wildcard-ypen ohne Einchränkung (C<?>) ind immer zueinander kompatibel Covarianz Zu Wildcard-ypen mit Upper-ypebound (C<? extend B>) ind alle generichen ypen kompatibe deren ypargument zu B kompatibel it Contravarianz Zu Wildcard-ypen mit Lower-ypebound (C<? uper B>) ind alle generichen ypen kompatibe zu deren ypargument B kompatibel it yp Leen Schreib. Kompatible ypargumente Invarianz C<> ja ja Bivarianz C<?> nein nein lle Covarianz C<? extend B> ja nein B und abgeleitete ypen Contravarianz C<? uper B> nein ja B und Baitypen PI-1: Generiche Programmieren 10
11 Überetzung genericher Klaen natz Generiche Datentypen werden in Java auchließlich vom Compiler verarbeitet Da Laufzeitytem weiß nicht von generichen Datentypen Überetzung Mit ype-eraure wird genericher Code mit ypvariablen und ypargumenten auf normalen, nicht-generichen Java-Quelltext reduziert Der nicht-generiche Java-Quelltext wird weiterverarbeitet wie biher u jeder generichen Klae wird eine nicht-generiche Klae generiert und in eine.-datei überetzt In C++ wird dagegen jede Intanziierung einer Klae mit ypargumenten getrennt überetzt Dadurch langamere Überetzen und größere Kompilate, aber beere Optimierungmöglichkeiten und weniger Einchränkungen PI-1: Generiche Programmieren 11
12 ype-eraure Bei der ype-eraure genericher Klaen werden yp-variablen in pitzen Klammern gelöcht Vorkommen von ypvariablen mit einem oder mehreren ypebound durch den einzigen bzw. erten ypebound eretzt Vorkommen von ypvariablen ohne ypebound durch eretzt Bei der ype-eraure der Verwendung genericher Klaen werden die yp-korrektheit tatich geprüft (d.h. zum Überetzungzeitpunkt) ypargumente müen allen ypebound genügen generiche ypen müen auch untereinander korrekt verwendet werden, inbeondere bei Wildcard-ypen ypargumente, einchließlich Wildcard, in pitzen Klammern gelöcht ypecat eingechoben, wo der Wert eine ypargument benutzt wird PI-1: Generiche Programmieren 12
13 ype-eraure Beipiel <> <> <> <> ; ; Generiche Klae ( ( info info ( ( <> <> <> <> info info r; r; <> <> ; ; <> <> ; ; etinfo( etinfo( info info <> <> n n <>("foo"); <>("foo"); n.; n.; ; ; Nach ype-eraure (Rawtype) ( ( info info ( ( info info r; r; ; ; ; ; etinfo( etinfo( info info n n ("foo"); ("foo"); () () n.; n.; PI-1: Generiche Programmieren 13
14 ype-eraure Beipiel <> <> <> <> ; ; Generiche Klae ( ( info info ( ( <> <> <> <> info info r; r; <> Rawtype <> laen ich auch ; ; <> direkt <> benutzen, aber die ; ; ypicherheit etinfo( etinfo( geht info verloren info (Compiler-Warnung) <> <> n n <>("foo"); <>("foo"); n.; n.; ; ; Nach ype-eraure (Rawtype) ( ( info info ( ( info info r; r; ; ; ; ; etinfo( etinfo( info info n n ("foo"); ("foo"); () () n.; n.; PI-1: Generiche Programmieren 14
15 Grenzen genericher ypen (1) Primitive ypargumente <int> ni <int>(23); // Fehler! ber: <Integer> ni <Integer>(23); // utoboxing Statiche Elemente Broken<> tatic data; // Fehler! Grund: lle Klaen Broken<> teilen ich da Klaenattribut data. Welchen yp oll e haben? Dynamiche ypprüfung <> boolean icompatible( o) o intanceof ; // Fehler! ype-eraure: o intanceof o intanceof ypecat <> etinfo( o) info () o; // Sinnlo ype-eraure: () o () o Compiler erzeugt: warning: unchecked cat of type PI-1: Generiche Programmieren 15
16 Grenzen genericher ypen (2) Kontruktoraufrufe <> () info (); // Fehler Woher oll Java wien, da einen Standard-Kontruktor hat? Beipiel: <Integer> ni <Integer>(); uweg: <> ( info <Integer> ni <Integer>(23); Generiche Baitypen import java.util.date; imetamped<> extend Date timetamp Date(); // Fehler Generiche Klae mu Kontruktor der Baiklae aufrufen können. Dieer kann hier aber nicht zur Kompilierzeit ermittelt werden! Exception UniveralException<> extend Exception reaon; // Fehler Generiche ypen können nicht für Exception verwendet werden, da da Fangen mit catch auf dem Ermitteln de yp de geworfenen Objekt baiert. Dieer geht aber bei der ype-eraure verloren. Compiler erzeugt: a generic may not extend java.lang.hrowable PI-1: Generiche Programmieren 16
17 Grenzen genericher ypen (3) rray von ypvariablen Container<> [] a [100]; uweg: Container<> [] a ([]) [100]; // Warnung Compiler erzeugt ue unchecked or unafe operation Man kann trotzdem typichere Klaen ertellen: Container<> Container<> [] [] a a ([]) ([]) [100]; [100]; // // Warnung Warnung et(int et(int t) t) a[i] a[i] t; t; get(int get(int a[i]; a[i]; PI-1: Generiche Programmieren 17
18 Generiche (polymorphe) Methoden Definition Polymorphe Methoden ind unabhängig von generichen ypen Sie können auch in nicht-generichen Klaen definiert werden Klaen- und Objektmethoden owie Kontruktoren können polymorph ein ufruf thi.<>vote("foo", "foo","bar"); int i thi.<integer>vote(1,2,2); thi.<>vote(1,2,2); // Fehler! yp-inferenz vote("foo", "foo","bar"); <> <> vote( vote( x, x, y, y, z) z) if(x.equal(y)) if(x.equal(y)) x; x; ele ele if(y.equal(z)) if(y.equal(z)) y; y; ele ele if(z.equal(x)) if(z.equal(x)) z; z; ele ele nul nul ypparameter werden automatich mit dem unterten gemeinamen yp belegt Double d vote(1, 3.14, 1); // Fehler! entpricht Double d vote( Integer(1), Double(3.14), Integer(1)); // Fehler! Number n vote(1, 3.14, 1); // ok PI-1: Generiche Programmieren 18
19 Funktionen höherer Ordnung Definition Funktionen höherer Ordnung bekommen elbt Funktionen al Parameter In Java ind Funktionen al Parameter nicht möglich, wohl aber Objekte von Klaen, die betimmte Interface implementieren Beipiel: Faltung Eine Faltung faltet eine Lite (oder ein rray) zu einem einzigen Wert zuammen Dazu wird eine binäre Funktion der Reihe nach auf alle Elemente angewendet In Hakell: foldl (+) 0 [1,2,3,4,5] ((((0 + 1) + 2) + 3) + 4) + 5 interface interface FoldlFn<, FoldlFn<, B> B> fn( fn( a, a, B B b); b); <, <, B> B> foldl(foldlfn<, foldl(foldlfn<, B> B> f, f, a, a, B[] B[] b) b) for(b for(b b0 b0 : : b) b) a a f.fn(a, f.fn(a, b0); b0); a; a; concat([] concat([] object) object) foldl( foldl( FoldlFn<, FoldlFn<, >() >() public public fn( fn(,, o) o) + + o.to(); o.to();,, "", "", object); object); PI-1: Generiche Programmieren 19
Generisches Programmieren. Generisches Programmieren
Generisches Programmieren Generisches Programmieren 24.11.11 Uli Dormann 1 Inhaltsverzeichnis Motivation Ansatz Sprachen mit generischer Programmierung Generische Klassen Namenskonvention Prüfung Typsicherheit
MehrJavakurs zu Informatik I. Henning Heitkötter
Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,
MehrInstitut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrKundeninformationen zu Secure Mail
Kreiparkae Trauntein-Trotberg -1- Kreiparkae Trauntein-Trotberg Allgemeine Kaum einer macht ich beim Verenden einer E-Mail Gedanken über die Sicherheit. Dabei it eine normale E- Mail ungefähr o icher und
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrVier-Felder-Tafel. Medizinische Tests sind grundsätzlich mit zwei Fehlern behaftet: 1. Erkrankte werden als gesund, 2. Gesunde als krank eingestuft.
Vier-Felder-Tafel Mediziniche Tet ind grundätzlich mit zwei Fehlern behaftet:. Erkrankte werden al geund, 2. Geunde al krank eingetuft. Der. Fehler wird üblicherweie (nicht nur von Tet-Entwicklern) in
MehrEinfacher loop-shaping Entwurf
Intitut für Sytemtheorie technicher Prozee Univerität Stuttgart Prof. Dr.-Ing. F. Allgöwer 6.4.24 Regelungtechnik I Loophaping-Entwurf t http://www.it.uni-tuttgart.de/education/coure/rti/ Einfacher loop-haping
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrAnleitung. zur. Konfiguration. des. WLAN Repeaters
Anleitung zur Konfiguration de WLAN Repeater (Art. Nr. SD-REP-2 ) Stand: 06.06.07 Inhaltverzeichni. Eintellungen WLAN Router. Einloggen WLAN Router.2 IP-Eintellungen WLAN-Router.3 Kanal WLAN-Router.4 WLAN
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrMechanik 2. Addition von Geschwindigkeiten 1
Mechanik. Addition on Gechwindigkeiten 1. Addition on Gechwindigkeiten Wa beeinflut die Gechwindigkeit de Boote? a. Wind b. Waergechwindigkeit Haben beide die gleiche Richtung, o addieren ie ich. Haben
MehrStarten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.
Starten Sie Eclipse: Abgesehen vom Kommandozeilenfenster, auf welches wir später eingehen, öffnet sich ein Dialog (in der FH vermutlich nicht, überspringen Sie in diesem Fall): Hier tragen sie Ihr Arbeitsverzeichnis
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrAnleitung für die Online-Bewerbung über LSF auf Lehrveranstaltungen aller Lehramtsstudiengänge
Einloggen: Eingabe von Benutzername und Passwort Benutzername = Matrikelnummer (z.b. 999999) Passwort = Geburtsdatum (z.b. 31.12.1998) wird angezeigt als ********** Nach dem ersten Einloggen sollten sie
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrEnigmail Konfiguration
Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es
MehrStatistische Analyse von Messergebnissen
Da virtuelle Bildungnetzwerk für Textilberufe Statitiche Analye von Meergebnien 3 Hochchule Niederrhein Stand: 17..3 Seite 1 / 8 Im Abchnitt "Grundlagen der Statitik" wurde u.a. bechrieben, wie nach der
MehrFunktionale Programmierung mit Haskell
Funktionale Programmierung mit Haskell Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20120622 Überblick Wichtige Eigenschaften Einführungsbeispiele Listenerzeugung und Beispiel
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrResultate GfS-Umfrage November 2006. Wie bekannt ist das Phänomen Illettrismus bei der Schweizer Bevölkerung?
Resultate GfS-Umfrage November 2006 Wie bekannt ist das Phänomen Illettrismus bei der Schweizer Bevölkerung? Frage 1: Kennen Sie das Phänomen, dass Erwachsene fast nicht lesen und schreiben können, obwohl
MehrDer lokale und verteilte Fall
Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf
MehrMedia Teil III. Begriffe, Definitionen, Übungen
Media Teil III. Begriffe, Definitionen, Übungen Kapitel 1 (Intermedia- Vergleich: Affinität) 1 Affinitätsbewertung als Mittel des Intermedia-Vergleichs Um die Streugenauigkeit eines Werbeträgers zu bestimmen,
MehrInformationen zum Ambulant Betreuten Wohnen in leichter Sprache
Informationen zum Ambulant Betreuten Wohnen in leichter Sprache Arbeiterwohlfahrt Kreisverband Siegen - Wittgenstein/ Olpe 1 Diese Information hat geschrieben: Arbeiterwohlfahrt Stephanie Schür Koblenzer
MehrGebundene Typparameter
Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrMobile Internet-Nutzung 2013 4. Befragungswelle zum Nutzungsverhalten von Mobile-Internet-Usern in Deutschland
Auzug: Preechart Mobile Internet-Nutzung 2013 4. Befragungwelle zum Nutzungverhalten von Mobile-Internet-Uern in Deutchland NORDLIGHT reearch GmbH Elb 21 40721 Hilden Deutchland T+49 2103 25819-0 F+49
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrBrustkrebs. Genetische Ursachen, erhöhte Risiken. Informationen über familiär bedingten Brust- & Eierstockkrebs
Brutkreb Genetiche Urachen, erhöhte Riiken Informationen über familiär bedingten Brut- & Eiertockkreb Brutkreb: Wie und wo er entteht Wenn bei der Zellteilung ein Fehler paiert Alle Zellen unere Körper
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrInstallation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden
Installation von Druckern auf dem ZOVAS-Notebook Bei der Installation eines Druckers muss grundsätzlich unterschieden werden, ob der Drucker direkt am Notebook angeschlossen ist oder ob ein Drucker verwendet
MehrMORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
MehrCOPPPS Software und Services seit 1972 Software und Services aus einer Hand
Voraussetzung Sie benutzen die Programmerweiterung UST-Voranmeldung und tragen in den Konten die zugehörigen Zeilennummern (KZ) laut UST-Voranmeldungsformular ein. Dazu gehört dann die Bearbeitung der
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrBei der Anlage von Pauschalen ist folgendes zu beachten!!!!!!!!
Bei der Anlage von Pauschalen ist folgendes zu beachten!!!!!!!! Vorgaben für Pauschen: Die Pauschale wird in der Homepage mit 3 Punkten dargestellt Titel ist der Produkttitel Pro Punkt jeweils maximal
MehrRundung und Casting von Zahlen
W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0 1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrPlotten von Linien ( nach Jack Bresenham, 1962 )
Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels
MehrDatenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
MehrAbteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2
Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau
MehrFunktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
MehrIT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung
IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für ihre Entscheidung Entdecken Sie was IT Sicherheit im Unternehmen bedeutet IT Sicherheit
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
Mehrteamsync Kurzanleitung
1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier
MehrFH-SY Chapter 2.4 - Version 3 - FH-SY.NET - FAQ -
FH-SY Chapter 2.4 - Version 3 - FH-SY.NET - FAQ - Version vom 02.02.2010 Inhaltsverzeichnis 1. KANN ICH BEI EINER EIGENEN LEKTION NACHTRÄGLICH NOCH NEUE LERNINHALTE ( WAS WURDE BEHANDELT? ) EINFÜGEN?...
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrAufklappelemente anlegen
Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE22-NutzungVonKlassen (Stand 28.09.2012) Aufgabe 1: Entwickeln Sie in Eclipse auf der Basis der vorgestellten Java-GUI-Klassen ein Java- Programm, das
MehrBevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.
R. Brinkmann http://brinkmann-du.de Seite 1 13.0.010 Lineare Gleichungen Werden zwei Terme durch ein Gleichheitszeichen miteinander verbunden, so entsteht eine Gleichung. Enthält die Gleichung die Variable
MehrLineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3
Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen
MehrOECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland
OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
Mehr7. Übung zu Algorithmen und Datenstrukturen
7. Übung zu Algorithmen und Datenstrukturen Dynamisches Programmieren Greedy Algorithms Exceptions 1 Dynamische Programmierung nutzt gezielt aus, dass man bei manchen Problemen den Rechenaufwand extrem
Mehraffilinet_ Flash-Spezifikationen
affilinet_ Flash-Spezifikationen Inhaltsverzeichnis Allgemeines...2 Klickzählung...2 Lead/Sale Programme... 2 PPC und Kombi Programme...3 Übergabe von Formulardaten...4 clicktag Variante Sale/Lead Programm...4
MehrEJBs und Sicherheit. Vorlesung: Applikationsserver. Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.
EJBs und Sicherheit Vorlesung: Applikationsserver Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.de/~reich Deklarative Sicherheit Zugriffsrechte auf die EJB-Methoden werden
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrKapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrWurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik
Wurzeln als Potenzen mit gebrochenen Exponenten Zur Einstimmung Wir haben die Formel benutzt x m n = x m n nach der eine Exponentialzahl potenziert wird, indem man die Exponenten multipliziert. Dann sollte
MehrBrowsereinstellungen für moneycheck24 in Explorer unter Windows
Browsereinstellungen für moneycheck24 in Explorer unter Windows Wichtige Einstellungen im + Um zu prüfen, welche Version Sie nutzen Einstellungen: Klicken Sie im Menü INTERNETOPTIONEN Extras [oder Tastenkürzel
MehrFAMILIENSTAND ALLEINERZIEHENDE MÜTTER
Umfrage unter Eltern zur Kinder-Betreuung nach der Trennung Match-patch.de die Partnerbörse für Singles mit Familiensinn hat im Juni eine Umfrage unter seinen Mitgliedern durchgeführt. Bei der Befragung,
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrFactory Method (Virtual Constructor)
Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte
MehrHilfedatei der Oden$-Börse Stand Juni 2014
Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrI Serverkalender in Thunderbird einrichten
I Serverkalender in Thunderbird einrichten Damit Sie den Kalender auf dem SC-IT-Server nutzen können, schreiben Sie bitte zuerst eine Mail mit Ihrer Absicht an das SC-IT (hilfe@servicecenter-khs.de). Dann
MehrGezielt über Folien hinweg springen
Gezielt über Folien hinweg springen Nehmen wir an, Sie haben eine relativ große Präsentation. Manchmal möchten Sie über Folien hinweg zu anderen Folien springen. Das kann vorkommen, weil Sie den gesamten
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrDer Gabelstapler: Wie? Was? Wer? Wo?
Schreibkompetenz 16: schlusszeichen (Fragezeichen) sprechen zeichen Um eine Frage zu kennzeichnen, wird ein Fragezeichen (?) gesetzt. Fragewörter (zum Beispiel wo, wer, was, wie) zeigen an, dass ein Fragezeichen
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrDOWNLOAD. Wortfeld Recht. Fachausdrücke des Alltags verstehen und anwenden. Jens Eggert. Downloadauszug aus dem Originaltitel:
DOWNLOAD Jens Eggert Wortfeld Recht Fachausdrücke des Alltags verstehen und anwenden auszug aus dem Originaltitel: m Gericht Die 8a besichtigt ein Gerichtsgebäude. Sie werden von Frau Schmidt in Empfang
MehrÜbungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11
Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe
MehrProgrammieren I. Kapitel 15. Ein und Ausgabe
Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random
MehrAbwesenheitsnotiz im Exchange Server 2010
Abwesenheitsnotiz im Exchange Server 2010 1.) Richten Sie die Abwesenheitsnotiz in Outlook 2010 ein und definieren Sie, an welche Absender diese gesendet werden soll. Klicken Sie dazu auf Datei -> Informationen
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrStatuten in leichter Sprache
Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch
MehrSage Start Version 2011
Sage Start Sage Start Version 2011 1/14 l 21.09.2010 Definition ImportSchnittstelle FibuBuchungen Sage Schweiz AG l Infoline: 0848 868 848 l Telefax: 058 944 18 18 info@sageschweiz.ch l www.sageschweiz.ch
MehrFAQs für beglaubigte Übersetzungen. 2015 Francesca Tinnirello
FAQs für beglaubigte Übersetzungen Die am häufigsten gestellten Fragen für beglaubigte Übersetzungen 1) Was sind beglaubigte Übersetzungen? 2) Was kostet eine beglaubigte Übersetzung? 3) Muss ich das Original
MehrAnleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)
Seite 1/7 Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.) Hier sehen Sie eine Anleitung wie man einen Serienbrief erstellt. Die Anleitung
MehrGraphic Coding. Klausur. 9. Februar 2007. Kurs A
Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt
MehrKönnen Hunde lächeln?
Können Hunde lächeln? Mittlerweile gibt es zahlreiche Fotos von lächelnden oder auch grinsenden Hunden. Insbesondere die Dalmatiner sind dafür berühmt geworden. Bisher ist allerdings wenig darüber bekannt,
MehrDie Größe von Flächen vergleichen
Vertiefen 1 Die Größe von Flächen vergleichen zu Aufgabe 1 Schulbuch, Seite 182 1 Wer hat am meisten Platz? Ordne die Figuren nach ihrem Flächeninhalt. Begründe deine Reihenfolge. 1 2 3 4 zu Aufgabe 2
Mehre LEARNING Kurz-Anleitung zum Erstellen eines Wikis 1. Wiki erstellen
Kurz-Anleitung zum Erstellen eines Wikis Die Aktivität Wiki verschafft Ihnen die Möglichkeit, Wissen zu sammeln und zu strukturieren. Dabei können Sie die Teilnehmer Ihres Kurses an der Erstellung des
MehrMenü auf zwei Module verteilt (Joomla 3.4.0)
Menü auf zwei Module verteilt (Joomla 3.4.0) Oft wird bei Joomla das Menü in einem Modul dargestellt, wenn Sie aber z.b. ein horizontales Hauptmenü mit einem vertikalen Untermenü machen möchten, dann finden
Mehrnic.at - Salzamt im (österreichischen) Internet?
nic.at - Salzamt im (österreichischen) Internet? Dr. Barbara Schloßbauer Leiterin nic.at Rechtsabteilung Salzamt Das Wort Salzamt lebt vor allem in Österreich weiter als Ausdruck für eine nicht existierende
Mehr