JAVA 5 Generics. Proseminar Programmiersprachen Thema Java 5 Generics 1
|
|
|
- Christin Stieber
- vor 9 Jahren
- Abrufe
Transkript
1 JAVA 5 Generics Thema Java 5 Generics 1
2 Inhalt 1. Die Programmiersprache Java 2. Simple Generics 3. Das Beispielprogramm 4. Tieferer Einstieg in Generics 5. Arrays 6. Kritische Betrachtung von Generics Thema Java 5 Generics 2
3 1.1. Die Geschichte von Java The Green Projekt James Gosling und 12 weitere Entwickler 18 Monate Ziele: Mit den Nachteilen von C++ aufräumen Netzwerkorientiert Klein, sicher und portabel Kein Happyend für das Projekt!? Thema Java 5 Generics 3
4 1.1. Die Geschichte von Java Doch ein Happeyend durch das Internet HotJava Was hat das ganz eigentlich mit Kaffee zu tun? Thema Java 5 Generics 4
5 1.2. Grundprinzipien: Objektorientierung Die Struktur von Objekten steht im Mittelpunkt Ein Programm besteht aus Objekten Vorteile der Kapselung: übersichtlicher wieder verwendbarer sicherer Ausnahme in Java: primitive Datentypen Thema Java 5 Generics 5
6 1.2. Grundprinzipien: Vererbung Konstruktoren, Attribute und Methoden werden an die abgeleitet Klasse weitergegeben Die Unterklasse kann erweitern oder überschreiben Keine Mehrfachvererbung in Java Stattdessen Implementierung von mehreren Interfaces Vererbungshierarchie: java.lang.object java.lang.number java.lang.integer Thema Java 5 Generics 6
7 1.3. Polymorphie Enthaltende Polymorphie Subtyping: Typumwandlung Casts Überladen von Methoden Parametrische Polymorpie Generizität Thema Java 5 Generics 7
8 2.1. Warum Generics? Typisches Einsatzgebiet Collection API Collections verwalten Daten des gleichen Typs Object ArrayList intlist = new ArrayList(); intlist.add(new Integer(1)); Integer num = (Integer) intlist.get(0); Thema Java 5 Generics 8
9 2.1. Warum Generics? unübersichtlicher Code durch Casts Casts können ClassCastExceptions verursachen Compiler kann Typsicherheit nicht sicherstellen ArrayList intlist = new ArrayList(); intlist.add(new Integer(1)); String text = (String) intlist.get(0); Thema Java 5 Generics 9
10 2.2. Ein Beispiel ArrayList<Integer> intlist = new ArrayList<Integer>(); intlist.add(new Integer(1)); Integer num = intlist.get(0); Kein Cast potenzielle Fehlerquelle umgangen Kann vom Compiler geprüft werden: Compiler meldet Fehler beim Einstellen eines Elements von einem falschen Typ Compiler kennt den Typ eines Listenelements beim Herausnehmen Thema Java 5 Generics 10
11 2.3 Das Konzept von Generics Generizität bedeutet Verwendung von Typparametern public interface List <E>{ void add (E x);... Generische Klassen oder Methoden sind in Abhängigkeit eines Typparameters Begriffe <E> formal type parameter <Integer> actual type parameter LinkedList<Integer> parameterized type Thema Java 5 Generics 11
12 2.4 Typeerasure Möglichkeit der Umsetzung durch Kopie des Codes stattdessen Code Sharing JVM unterstützt nicht Generizität Dekompilierte Anweisung mit Casts Die Typinformation steht nur während der Kompilierung zur Verfügung Thema Java 5 Generics 12
13 2.4 Typeerasure Compiler entfernt Typinformation = Typeerasure Bytecode mit Typ Object ArrayList<Integer> == ArrayList<String> gibt zur Laufzeit true zurück Thema Java 5 Generics 13
14 2.4 Typeerasure Gründe für die Umsetzung mit Typeerasure: Kompatibilität mit altem Code Einfache Umsetzung von Generics Keine Änderung der JVM nötig Ein Nachteil entsteht nur bei der längeren Compilezeit, die meist irrelevant ist Thema Java 5 Generics 14
15 3. Das Beispielprogramm Es soll ein Programm erstellt werden, das eine Liste von Zeichenelementen: ausgibt mit println, zeichnet, um Elemente erweitert und ein Zeichenelement aus der Liste löscht, wenn es einen bestimmten Punkt enthält. Thema Java 5 Generics 15
16 3. Das Beispielprogramm In der Bibliothek gibt es bereits das Interface Shape, das verwendet werden soll, sowie diverse Implementierungen davon z.b. als Ellipse Die Methoden sollen polymorph sein Es soll möglich sein sicherzustellen, dass nur ein Typ von Zeichenelement in der Liste ist z.b. nur Rechtecke Als Listentyp soll ArrayList verwendet werden Thema Java 5 Generics 16
17 4.1 Subtyping ArrayList<Ellipse> ellipselist = new ArrayList<Ellipse>(); ArrayList<Shape> shapelist = ellipselist; shapelist.add(new Rectangle()); Ellipse ellipse = ellipselist.get(0); Zeile 2 ergibt einen Kompilierungsfehler! ArrayList<Ellipse> ist keine Subklasse von ArrayList<Shape> Thema Java 5 Generics 17
18 4.2 Wildcards public void printall(abstractlist <Object> list){ for (Object object : list) System.out.println(object); Nicht verwendbar für z.b. ArrayList<Ellipse> Wildcards lösen das Problem public void printall(abstractlist<?> list) { for (Object object : list) System.out.println(object); Thema Java 5 Generics 18
19 4.2 Wildcards AbstractList<?> list = new ArrayList<Ellipse>(); list.add (new Object()); Nicht möglich Wildcards erlauben nur lesenden Zugriff Schreiben ist nicht möglich Thema Java 5 Generics 19
20 4.3 Bounded Wildcards Rückgabetyp Object Teilweise ist aber eine Einschränkung nötig um z.b. bestimmte Methoden anwenden zu können public void drawall(abstractlist<? extends Shape> list){ for (Shape shape : list) draw(shape); Die Methode akzeptiert alle Arten von Shapelisten d.h. auch ein Liste mit einem Subtyp von Shape Thema Java 5 Generics 20
21 4.3 Bounded Wildcards Upper bound durch Angabe von extends Mit upper bound aber nur lesender Zugriff Lower bound durch Angabe von super <? super shape> alle Supertypes werden akzeptiert Mit lower bound schreibender Zugriff ArrayList<? super Ellipse> list; list.add(new Ellipse()); Thema Java 5 Generics 21
22 4.4 Generische Methoden Methoden können in Abhängigkeit von Typparametern sein public <E extends Shape> E remove(arraylist<e> list, Point point){ for (E shape : list) { if (shape.contains(point)) { list.remove(shape); return shape; return null; Thema Java 5 Generics 22
23 4.4 Generische Methoden Zur Laufzeit muss aber ein spezifischer Typ zugewiesen werden Der Compiler leitet aus den Parametern der Methode den spezifischen Typ ab: Typinferenz Elemente können der Collection auch hinzugefügt werden public <E> void addelem(abstractlist<e> list, E elem){ list.add(elem); Thema Java 5 Generics 23
24 4.5 Generische Methoden oder Wildcards? public void drawall(abstractlist<? extends Shape> list){ for (Shape shape : list) draw(shape); public <T> void drawall(abstractlist<t extends Shape> list){ for(t shape: list) draw(shape); Grundsatz: Wenn ein Typparameter nur einmal verwendet wird, sollte man Wildcards benutzen. Thema Java 5 Generics 24
25 4.6 Generische Klassen Collections sind Beispiele für generische Klassen public interface List <E>{ void add (E x);... Thema Java 5 Generics 25
26 4.6 Generische Klassen public class ShapeList<E extends Shape> extends ArrayList<E> { public void drawall( ) { for (E shape : this) draw(shape); public E remove(point point) { for (E shape : this) { if (shape.contains(point)) { this.remove(shape); return shape; return null; Thema Java 5 Generics 26
27 4.6 Generische Klassen Es gilt das Gleiche wie für generische Methoden: gebundene oder nicht gebundene Typparameter mit einem oder mehreren Typparametern public interface Map<K,V>{... Thema Java 5 Generics 27
28 4.6 Generische Klassen public <E> void addnewelem(abstractlist<e> list){ E elem = new E( ); list.add(elem); Funktioniert nicht Neu Elemente des Parameters können nicht erzeugt werden Zur Runtime fehlt die Typinformation durch Typeerasure new E() wäre zur Runtime: new Object() Thema Java 5 Generics 28
29 4.6 Generische Klassen Keine primitiven Datentypen Keine instanceof Prüfung möglich Generische Typen können nicht in statischen Elementen verwendet werden public class mylist<e> { static E firstelem;... extends, implements nicht mit typisierten Parametern public class mylist<e> extends E{... public class mylist<e> implements E{... Thema Java 5 Generics 29
30 5.1 Vergleich Arrays und generischen Collections Kovarianz: ein Typ kann spezialisiert werden Typparamenter sind nicht kovariant Wir haben festgestellt: ArrayList<Object> ist nicht Supertyp von ArrayList<String> Arrays sind kovariant: Object[] ist Supertyp von String[] Thema Java 5 Generics 30
31 5.1 Vergleich Arrays und generischen Collections Object[ ] objarr; String[ ] strarr = new String[10]; objarr = strarr; objarr[0] = new Integer(5); String string = strarr[0]; Die letzte Zeile würde einem String einen Integer zuweisen Kommt aber nicht soweit: vorletzte Zeile wirft ArrayStoreException Aber erst zur Runtime! Thema Java 5 Generics 31
32 5.2 Arrays von parametrisierten Typen ArrayList<Integer> [ ] intlistarr = new ArrayList[10]; Object [ ] objarr = intlistarr; objarr[0] = new ArrayList<String>(); Das Gleiche wie vorher? Zur Runtime wird in der letzten Zeile keine Exception geworfen Es fehlt die Typ-Information wegen Typeerasure Thema Java 5 Generics 32
33 5.2 Arrays von parametrisierten Typen Fehler taucht noch später auf Es kann z.b eine ClassCastException bei der Entnahme eines Elements geworfen werden Folge: Der eigentliche Fehler ist schwer zu lokalisieren Keine Typsicherheit trotz Generics Thema Java 5 Generics 33
34 5.2 Arrays von parametrisierten Typen ArrayList<Integer> [ ] intlistarr = new ArrayList[10]; Der Compiler gibt bei der Zeile schon eine unchecked Warnung ArrayList<Integer>[ ] intlistarr = new ArrayList<Integer>[10]; Der Compiler wirft einen Fehler, dass er kein generisches Array erstellen kann. Das Gleiche gilt für Arrays von Typparametern. public <T> T[ ] fromlisttoarray (AbstractList<T> list){ T[ ] array = new T[10];... Thema Java 5 Generics 34
35 5.2 Arrays von parametrisierten Typen List<?>[ ] array = new List<?>[10]; List<Integer> intlist = new ArrayList<Integer>( ); intlist.add(new Integer(2)); array[1] = intlist; Integer i = (Integer) array[1].get(0); Kann ClassCastException werfen Schlussfolgerung: Man kann Arrays und generische Typen nicht typsicher kombinieren Arrays passen so nicht in das Konzept von Generics und Typerasure Thema Java 5 Generics 35
36 6.1 Sinnvoller Einsatz von Generics Grundsätzlich: Generics sind eine Form von Polymorphie Dieser ist immer dann sinnvoll, wenn der Code wiede verwendbar sein soll. Generics kontra Polymorphie durch Subtyping: Generics für die Typsicherheit Vorteil gegenüber Casts durch frühere Fehlererkennung Thema Java 5 Generics 36
37 6.1 Sinnvoller Einsatz von Generics Der Entwickler wird nicht gezwungen Generics zu verwenden Eine unchecked Warnung weist darauf hin, dass die Typsicherheit nicht gewährleistet ist. Thema Java 5 Generics 37
38 6.2 Fazit Generics in Java bringen praktisch keine Nachteile Das Wegfallen von Casts macht den Code übersichtlicher Bedingungen lassen sich besser und einfacher ausdrücken Fehler treten an den Stellen auf, wo sie verursacht werden In Bezug auf Arrays ist das Konzept noch nicht ausgereift Thema Java 5 Generics 38
Neuere Sprachelemente in Java
Softwaretechnik 1 Vorlesung Neuere Sprachelemente in Java Prof. Dr. Bernhard Rumpe Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 Neuerungen seit Java 5.0 Java Spracherweiterungen
9. Kapitel GENERICS. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm
9. Kapitel GENERICS Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Übersicht 1 1. Programmstrukturierung mit Paketen (packages) 2. Vererbung 3. Abstrakte Klassen und Interfaces 4. Ausnahmebehandlung
Informatik II Übung 6
Informatik II Übung 6 Gruppe 2 Carina Fuss [email protected] 11.4.2018 Carina Fuss 11.4.2018 1 Übung 6 Nachbesprechung Übung 5 Objektorientierung Vererbung, Polymorphie, abstrakte Klassen, Interfaces,
Faulheit professionell: Fertige Datenbehälter. Das Java-Collections-Framework Typsicherheit Generische Klassen
Faulheit professionell: Fertige Datenbehälter Das Java-Collections-Framework Typsicherheit Generische Klassen Das Java Collections Framework Grundlegende Interfaces Das Interface List Das Interface List
Polymorphie. 15. Java Objektorientierung II
432 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 433 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
Polymorphie. 15. Java Objektorientierung II
446 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 447 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
Einführung in die Programmierung
Einführung in die Programmierung Teil 10: Typsicherheit durch generische Typen Prof. Dr. Peer Kröger, Florian Richter, Michael Fromm Wintersemester 2018/2019 Übersicht 1. Grundlagen 2. Typvariablen 3.
II.4.5 Generische Datentypen - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.5 Generische Datentypen - 1 - Ähnliche
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
Java I Vorlesung Generics und Packages
Java I Vorlesung 9 Generics und Packages 21.6.2004 Generics Packages Qualifizierte Namen Mehr zu Zugriffsklassen Generics (Java 1.5) Die Klassen im Java Collections Framework sind mit dem Typ ihrer Elemente
Einstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4
Programmieren 2 16 Java Collections und Generizität
Programmieren 2 16 Java Collections und Generizität Bachelor Medieninformatik Wintersemester 2015 Dipl.-Inform. Ilse Schmiedecke [email protected] 1 Faulheit professionell: Fertige Datenbehälter
Java Einführung Vererbung und Polymorphie. Kapitel 13
Java Einführung Vererbung und Polymorphie Kapitel 13 Inhalt Klassifikation (UML) Implementierung von Vererbungshierarchien Überschreiben von Methoden Polymorphismus: Up-Casting und Dynamisches Binden Schlüsselwort
Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
Programmierkurs Java
Programmierkurs Java Java Generics und Java API (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Datenstrukturen In vielen Sprachen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
4. Vererbung Die Klasse Object. Die Klasse Object
4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige
Typisierung. Prüfungen zur Übersetzungszeit Type Test und Type Cast Bedingte Zuweisung Nil Übergangsparameter Grade der Typisierung. 3.
Typisierung Prüfungen zur Übersetzungszeit Type Test und Type Cast Bedingte Zuweisung Nil Übergangsparameter Grade der Typisierung 2 Untypisierte Sprachen erfordern Methodensuche zur Laufzeit bei Misserfolg
Vorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
Generische Typen in Java 1.5. Die Erweiterung der Java Language Specification
Generische Typen in Java 1.5 - Seminarvortrag 1/26 Generische Typen in Java 1.5 Die Erweiterung der Java Language Specification Seminarvortrag von Heiko Minning, mi3795 bei Prof. Dr. Uwe Schmidt, FH-Wedel
Kapitel 8. Generische Klassen
Kapitel 8 Generische Klassen Ziel: Zusammensetzen von Software-Bausteinen Oft probiert, nie erreicht! sprachliche Mittel fehlten In C++, ADA, Eiffel, Java: Klassen, die mit anderen Klassen parametrisiert
Javakurs für Anfänger
Javakurs für Anfänger Einheit 14: Generics Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Generische Klassen (Generics) Motivation Java Typ-Prüfung Warum also Generics? Generische
Programmiermethodik 2. Klausur Lösung
Programmiermethodik 2. Klausur Lösung 2. 10. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 18 3 42 4 20 5 20 Gesamt 120 1 Seite 2 von 12 Aufgabe 1) Objekt-Orientierung und Vererbung
Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
Gliederung der Folien
1 Gliederung der Folien 1. Einführung 1.1. Gliederung 1.2. Literatur 1.3. Einstieg in Java 1.3.1. Geschichte von Java 1.3.2. Hello World 1.3.3. Übersetzen eines Java-Programms 1.4. Die Entwicklungsumgebung
Dynamische Typinformation A01 OOP. Dynamische Typinformation
2013-11-13 Dynamische Typinformation 1 185.A01 OOP Dynamische Typinformation 2013-11-13 Dynamische Typinformation 2 OOP Dynamische Typabfragen Abfrage der Klasse eines Objects: Class y = x.getclass();
II.4.4 Exceptions - 1 -
n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen
Kapitel 8. Generische Klassen
Kapitel 8 Generische Klassen Ziel: Zusammensetzen von Software-Bausteinen Oft probiert, nie erreicht! sprachliche Mittel fehlten In C++, ADA, Eiffel, Java: Klassen, die mit anderen Klassen parametrisiert
II.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
8. Generics Grundlagen der Programmierung 1 (Java)
8. Generics Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 6. Dezember 2005 Einordnung im Kontext der Vorlesung 1.
Programmieren I und II
Handout zu den Vorlesungen Vorlesung Programmieren I und II Unit 9 Generische Datentypen Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme 1 Prof. Dr. rer. nat.
Informatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp [email protected] 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
Programmiermethodik 3. Klausur Lösung
Programmiermethodik 3. Klausur Lösung 9. 1. 2014 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 16 3 45 4 19 5 20 Gesamt 120 1 Seite 2 von 10 Aufgabe 1) Objekt-Orientierung und Vererbung
IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?
Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen
7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen
7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen
Algorithmen und Datenstrukturen 07
(7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik
Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax
Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface
Einführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden
Schein-/Bachelorklausur Teil 2 am Zulassung: Mindestens 14 Punkte in Teilklausur 1 und 50% der Übungspunkte aus dem 2. Übungsblock.
Schein-/Bachelorklausur Teil 2 am 13.02.2007 Zulassung: Mindestens 14 Punkte in Teilklausur 1 und 50% der Übungspunkte aus dem 2. Übungsblock. Alle Studiengänge außer Bachelor melden sich über die Lehrstuhlwebseite
Vererbung. CoMa-Übung XI TU Berlin. CoMa-Übung XI (TU Berlin) Vererbung / 47
Vererbung CoMa-Übung XI TU Berlin 16.01.2013 CoMa-Übung XI (TU Berlin) Vererbung 16.01.2013 1 / 47 Themen der Übung Themen heute Evaluation Rücksprachen IDEs Eclipse & Netbeans Packages, innere Klassen
Universität Karlsruhe (TH)
Universität Karlsruhe (TH) Lehrstuhl für Programmierparadigmen Fortgeschr. Objektorientierung SS 2009 http://pp.info.uni-karlsruhe.de/ Dozent: Prof. Dr.-Ing. G. Snelting [email protected]
ADT: Java Collections und ArrayList
ADT: Java Collections und ArrayList Überblick der Klassen Object File Collections Map List Set ArrayList LinkedList SortedSet HashSet SortedSet Methode ArrayList Klasse I Beschreibung void add(int position,
Info B VL 8: Abstrakte Klassen & Interfaces
Info B VL 8: Abstrakte Klassen & Interfaces Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 8: Abstrakte
Programmiermethodik 1. Klausur
Programmiermethodik 1. Klausur 27. 6. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 21 2 20 3 19 4 19 5 21 6 20 Gesamt 120 1 Seite 2 von 18 Aufgabe 1) Objekt-Orientierung und Vererbung
Algorithmen und Datenstrukturen. Übersicht. Interfaces und Generics. InsertionSort für Punkte. InsertionSort für Punkte
Algorithmen und Datenstrukturen Wintersemester 2012/13 21. Vorlesung Übersicht Liste und InsertionSort für e für Objekte beliebiger Klassen für Objekte von Klassen, die ein(e) Nutzer(in) festlegen kann
4. Vererbung. Idee der Vererbung. Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende Klassen vor:
4. Vererbung Grundlagen der Vererbung 4. Vererbung 4. Vererbung Grundlagen der Vererbung Idee der Vererbung Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende
OOP. Tagesprogramm. Dynamische Typinformation. Homogene Übersetzung der Generizität. Generizität und Typumwandlungen
1 2016-11-30 Tagesprogramm Dynamische Typinformation Homogene Übersetzung der Generizität Generizität und Typumwandlungen 2 2016-11-30 Dynamische Typinformation Dynamische Typabfragen Abfrage der Klasse
14. Java Objektorientierung. Klassen, Vererbung, Kapselung
427 14. Java Objektorientierung Klassen, Vererbung, Kapselung Objektorientierung: Verschiedene Aspekte 428 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen
12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
Programmierung für Mathematik HS11
software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren
Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern
Thema Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Referent: Frank Sanders Seite 1 Inhalt Der Vortrag hat einen sehr kurzen Einleitungsteil der sich mit Objektorientierung
Programmieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
Einstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
Programmieren in Java
Programmieren in Java Vorlesung 06: Das Visitor Pattern Prof. Dr. Peter Thiemann (vertreten durch Luminous Fennell) Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg)
Interfaces und Generics
Algorithmen und Datenstrukturen Wintersemester 2012/13 21. Vorlesung Interfaces und Generics Jan-Henrik Haunert Lehrstuhl für Informatik I Übersicht Liste und InsertionSort für Punkte für Objekte beliebiger
Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen
Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel
Javakurs 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,
1 Abstrakte Klassen, finale Klassen und Interfaces
1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
