2. Programmieren gegen Schnittstellen Advanced Programming Techniques

Größe: px
Ab Seite anzeigen:

Download "2. Programmieren gegen Schnittstellen Advanced Programming Techniques"

Transkript

1 2. Programmieren gegen Schnittstellen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Sommersemester

2 Einordnung in den gesamten Kurs 2 1. Einführung 2. Programmieren gegen Schnittstellen 3. Software-Kategorien 4. Dokumentieren und Testen 5. Design Patterns 6. Komponenten 7. Regeln zum Design von Komponenten 8. Fehlerbehandlung 9. Konfigurationsmanagement 10. Debugging, Tracing, Logging 11. Sicherheit 12. Funktionale Programmierung: Scala 13. Language-Oriented Programming 14. Refactoring

3 Agenda Prinzipien Schnittstellen Literatur 3

4 Die Urmutter aller Design-Prinzipien: Orthogonalität / Separation of Concerns Dimension 2 Eine Änderung in einer Dimension hat keine Auswirkung auf andere Dimensionen, z.b. DBMS-Technologie kann unabhängig von GUI-Technologie geändert werden Dimension 1 Trennung der Zuständigkeiten (Separation of concerns): Trenne Software unterschiedlicher Belange in verschiedene Bereiche auf 4

5 Geheimnisprinzip (Information Hiding) David L. Parnas Das Geheimnisprinzip eines der wichtigsten Konzepte des Software Engineering: Die Implementierung komplexer Datenstrukturen soll in einer Klasse (Komponente) verborgen werden. Nutzer erhalten nur eine abstrakte Sicht auf die Daten (abstrakte Datenstrukturen) Der Datenzugriff erfolgt nur über die Methoden (Encapsulation = Kapselung). 5

6 Diskussion Geheimnisprinzip Die Datenkapselung hat folgende Vorteile: - Gekapselte Klassen sind einfacher nutzbar (reduzierte Komplexität) - Sie können ohne Auswirkung auf andere Klassen geändert werden Es bestehen jedoch auch Nachteile: - Zugriff etwas weniger effizient - Eingeschränkte Flexibilität des Zugriffs, da nur über Methoden der Klasse auf die Daten zugegriffen werden kann Folge: Es werden stets zwei Rollen unterschieden: Anbieter und Nutzer 6

7 Agenda Prinzipien Schnittstellen Literatur 7

8 Programmieren gegen Schnittstellen (Interfaces) Interfaces 8 Das Programmieren gegen cd Collections Schnittstellen (Interfaces) ist eines der wichtigsten Konzepte der Programmierung Interface: - beschreibt die Außensicht, das heißt die Sicht des Nutzers - ist einfach - ist vielseitig verwendbar Klasse: - enthält die Innensicht, das heißt die Sicht des Programmierers - ist komplex - ist speziell «interface» List + add() : void + get() : void + contains() : void + remove() : void «realize» ArrayList «realize» LinkedList

9 Analogie Mensch Jeder Mensch hat viele Eigenschaften. Aber für bestimmte Personengruppen sind nur bestimmte Eigenschaften wichtig: - Verkehrspolizist: Führerschein - Arbeitgeber: Lebenslauf, Aufgaben, Einkommen - Bibliothek: Leihausweis - Familie: jede Menge anderer Eigenschaften Eine Klasse, zum Beispiel Customer, kann viele Eigenschaften haben. Aber für bestimmte Collaborations sind nur bestimmte Eigenschaften wichtig: Kundenverwaltung: fachliche Attribute und Funktionen SortedSet: Comparable Client-Server Kommunikation: Serializable 9

10 Schnittstellen oder wie man es auch sehen kann ;-) Patient Katze Haustier 10 class Katze implements Patient, Haustier { } Quelle: Roger King

11 Definition Schnittstelle und Operation 11 Eine Schnittstelle (Interface) fasst Operationen zusammen. Sie wird spezifiziert durch: - (1) Einen eindeutigen Namen, - (2) Die Menge der zugehörigen Operationen - (3) Ein Schnittstellen-Protokoll im Sinne von Reihenfolgen und Restriktionen beim Aufruf der Operationen. Operationen (Operations) beschreiben das Verhalten von Komponenten. Sie werden spezifiziert durch: - (1) Signatur: Name der Operation, Parameter und Rückgabewerte und deren Typen, Ausnahmen - (2) Semantik: Verhalten der Operation - (3) Nichtfunktionale Eigenschaften: z.b. Performanz, Verfügbarkeit, Kosten etc.

12 Spezifikation von Schnittstellen Schnittstelle Name Operationen Signatur Semantik Schnittstellenname public interface OrderManager { Rückgabetyp Operationsname Eingabeparameter und -typ Order placeorder (Customer c, Article a) throws NotAvailableException; } Prosa, Vorbedingungen, Nachbedingungen, etc. Ausnahme Nicht-funktionale Eigenschaften Protokoll Prosa Prosa, Sequenzdiagramme etc. 12

13 Vorbedingungen und Nachbedingungen 13 Vorbedingungen (Pre-conditions) - Bedingungen, die vor Ausführung der Operation erfüllt sein müssen, z.b. Eigenschaften der Parameter - muss der Nutzer der Operation zusichern - der Anbieter darf die Arbeit einstellen, wenn die Vorbedingung verletzt ist (zusätzliche Prüfung erhöht die Sicherheit: bei Verletzung Abbruch mit Ausnahme) - Beispiel: Artikel muss verfügbar sein, wenn er bestellt wird Nachbedingungen (Post-conditions) - Bedingungen, die nach Ausführung der Operation erfüllt sein müssen, z.b. Eigenschaften des Ergebnisses - Muss der Anbieter der Operation zusichern - Nutzer der Operation kann davon ausgehen (Zusätzliche Prüfung erhöht die Sicherheit: bei Verletzung Abbruch mit Ausnahme) - Beispiel: Nach erfolgreicher Bestellung ist Rechnung erzeugt

14 Deklaration eines Interface in Java Interfaces enthalten: - Instanzmethoden - Konstanten Interfaces haben keine Konstruktoren. Interfaces enthalten keine Implementierung. interface Customer { public String getname(); public void setname(string name); } 14

15 Nutzung eines Interface in Java Man sagt: Eine Klasse implementiert ein Interface, wenn sie jede einzelne Methode des Interfaces bereitstellt. Eine Klasse kann beliebig viele Interfaces implementieren. Ein Interface kann von beliebig vielen Klassen implementiert werden. Eine Referenz auf ein Interface kann überall dort im Code eingesetzt werden, wo auch eine Referenz auf eine Klasse erlaubt ist. class CustomerImpl implements Customer { public CustomerImpl(String name) {...} public String getname() {...} public void setname(string name) {...} } 15

16 Beispiel: Zugriff auf Kundendaten (mit Interface) Customer mycustomer = new CustomerImpl("Willi");... Map <String, Customer> mycustomers; mycustomers = new HashMap <String, Customer>(); mycustomers.put("kunde1234", mycustomer);... mycustomer = mycustomer.get("kunde1234"); class SomeOtherClass { public boolean processcustomer(customer cust) {... }; } 16

17 Gegen Schnittstellen programmieren Configuration Application Interface <<uses>> Implementation 17

18 Nutzer- und Anbieterrollen: Interfaces Nutzer import import Anbieter // Deklaration und Konfiguration I i = new C(); // Nutzung i.m(); Nutzung C wird nur in der Konfiguration sichtbar Definition (Außensicht) public interface I { public void m (); } Implementierung (Innensicht) public class C implements I { public void m() { } } 18

19 Übersicht über Collections, Maps und deren Interfaces <<interface>> Collection <<interface>> Map <<interface>> List <<interface>> Set <<interface>> SortedMap HashMap TreeMap HashTable ArrayList Vector <<interface>> SortedSet LinkedList Stack TreeSet 19

20 Jede Menge *ables Adjustable Appendable Callable Cloneable Comparable Destroyable Externalizable Flushable Formatable Identifyable Iterable Joinable Manageable Printable Readable Referenceable Refreshable Runnable Scrollable Serializable Streamable Throwable Timeable Transferable Writeable 20

21 Nutzung von Schnittstellen: Das Prinzip der minimalen Annahme Prinzip der minimalen Annahme Nutze Schnittstellen, wo sie zur Verfügung stehen, z.b. List statt ArrayList, Map statt HashMap Nutze die allgemeinste Schnittstelle, die den erforderlichen Dienst bereitstellt, z.b. Collection statt List, Iterator statt ListIterator 21

22 Agenda Prinzipien Schnittstellen Literatur 22

23 Literatur Johannes Siedersleben (Hrsg.): Quasar: Die sd&m Standard-Architektur, Teil 1 da.de/fileadmin/personal/b.humm/publikationen/siedersleben_- _Quasar_1 sd_m_brosch_re_.pdf Abschnitt Schnittstellen 23

1. Programmieren gegen Schnittstellen Advanced Programming Techniques

1. Programmieren gegen Schnittstellen Advanced Programming Techniques 1. Programmieren gegen Schnittstellen Advanced Programming Techniques Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB

Mehr

5. Dokumentieren und Testen Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

5. Dokumentieren und Testen Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 5. Dokumentieren und Testen Advanced Programming Techniques Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:

Mehr

7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung

Mehr

3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen zu Schnittstellen Was bedeutet Orthogonalität / Separation of Concerns?

Mehr

6. Interfaces Grundlagen der Programmierung 1 (Java)

6. Interfaces Grundlagen der Programmierung 1 (Java) 6. Interfaces Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 22. November 2005 Einordnung im Kontext der Vorlesung

Mehr

7. Komponenten Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

7. Komponenten Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 7. Komponenten Advanced Programming Techniques Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Advanced

Mehr

2. Java Schnellkurs Advanced Programming Techniques. Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

2. Java Schnellkurs Advanced Programming Techniques. Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 2. Java Schnellkurs Advanced Programming Techniques Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Advanced

Mehr

11. Komponenten Grundlagen der Programmierung 1 (Java)

11. Komponenten Grundlagen der Programmierung 1 (Java) 11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung

Mehr

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 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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 15 Einstieg in die Informatik mit Java Collections Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Collections 2 Hierarchie von Collections 3 Verwendung

Mehr

Info B VL 14: Java Collections/Reflections

Info B VL 14: Java Collections/Reflections Info B VL 14: Java Collections/Reflections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 14: Java Collections/Reflections

Mehr

11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen zu Design Patterns Wozu werden Design Patterns verwendet? Wann

Mehr

JAVA KURS COLLECTION

JAVA KURS COLLECTION JAVA KURS COLLECTION COLLECTIONS Christa Schneider 2 COLLECTION Enthält als Basis-Interface grundlegende Methoden zur Arbeit mit Collections Methode int size() boolean isempty() boolean contains (Object)

Mehr

Mengen und Multimengen

Mengen und Multimengen Überblick 17. Datenstrukturen 17.1 Einleitung 17.2 Listen 17.3 Assoziative Speicher 17.4 Bäume 17.5 Mengen 17.6 Das Collections-Framework in Java 17.7 Zusammenfassung 17 Datenstrukturen 5 Mengen Informatik

Mehr

Faulheit professionell: Fertige Datenbehälter. Das Java-Collections-Framework Typsicherheit Generische Klassen

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

Mehr

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen

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

Mehr

19 Collections Framework

19 Collections Framework Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Vorteile: Einheitlicher Zugriff auf Containerobjekte. Abstraktion von den Implementierungsdetails.

Mehr

OCP Java SE 8. Collections

OCP Java SE 8. Collections OCP Java SE 8 Collections Collections (Interfaces) Iterable Collection Set List Queue SortedSet Deque Collection List erlaubt Duplikate und null behält die Reihenfolge Set erlaubt keine Duplikate Queue

Mehr

Das Interface-Konzept am Beispiel der Sprache Java

Das Interface-Konzept am Beispiel der Sprache Java Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse

Mehr

Mengen und Multimengen

Mengen und Multimengen Überblick 21. Datenstrukturen 21.1 Einleitung 21.2 Listen 21.3 Assoziative Speicher 21.4 Bäume 21.5 Mengen 21.6 Das Collections-Framework in Java 21 Datenstrukturen 5 Mengen Einf. Progr. (WS 08/09) 870

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung WS 2006/2007 Klassen und Vererbung in Java Walter Binder Universität Lugano 2006-11-23 Objektorientierte Programmierung 1 Überblick Konstruktoren Verdecken versus Überschreiben

Mehr

Softwaretechnik WS 16/17. Übungsblatt 01

Softwaretechnik WS 16/17. Übungsblatt 01 Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and

Mehr

Kapitel 4: Bäume i. 1. Einleitung. 2. Ein Datenmodell für Listen. 3. Doppelt-verkettete Listen. 4. Bäume. 5. Das Collections-Framework in Java

Kapitel 4: Bäume i. 1. Einleitung. 2. Ein Datenmodell für Listen. 3. Doppelt-verkettete Listen. 4. Bäume. 5. Das Collections-Framework in Java Kapitel 4: Bäume i 1. Einleitung 2. Ein Datenmodell für Listen 3. Doppelt-verkettete Listen 4. Bäume 5. Das Collections-Framework in Java Prof. Dr. Peer Kröger: EiP (WS 18/19) Teil 11: Datenstrukturen

Mehr

19 Collections Framework

19 Collections Framework Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Vorteile: Einheitlicher Zugriff auf Containerobjekte. Abstraktion von den Implementierungsdetails.

Mehr

Grundlagen der Informatik 0

Grundlagen der Informatik 0 Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg

Mehr

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

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

Mehr

Teil V. Generics und Kollektionen in Java

Teil V. Generics und Kollektionen in Java Teil V Generics und Überblick 1 Parametrisierbare Datenstrukturen in Java 2 Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 5 1 Parametrisierbare Datenstrukturen in Java Motivation für

Mehr

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax

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

Mehr

12 Collections Framework. Interfaces Maps and Collections. Collection Interface. Überblick. Collection = Containterklasse, die andere Objekte enthält.

12 Collections Framework. Interfaces Maps and Collections. Collection Interface. Überblick. Collection = Containterklasse, die andere Objekte enthält. Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Interfaces Maps and Collections Iterable Collection Map Vorteile: Set List Queue SortedMap

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c 2009 D.Rösner

Mehr

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe Maximale Größe?! Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um Dynamische Anpassung der Größe Praktische Informatik I, HWS 2009, Kapitel 10 Seite

Mehr

Gliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D.

Gliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D. Gliederung Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c

Mehr

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal

Mehr

Geheimnisprinzip: (information hiding principle, Parnas 1972)

Geheimnisprinzip: (information hiding principle, Parnas 1972) 2. Abstrakte Datentypen 2.0 Begriffe Geheimnisprinzip: (information hiding principle, Parnas 1972) Zugriffe auf Teile einer Programmeinheit, die für die reguläre Benutzung nicht erforderlich sind, sollten

Mehr

Java Schulung. Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen. Prof. Dr. Nikolaus Wulff

Java Schulung. Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen. Prof. Dr. Nikolaus Wulff Java Schulung Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen Prof. Dr. Nikolaus Wulff Collections in Java 2 Java 2 Collections: http://java.sun.com/products/jdk/1.2/docs/guide/collections/index.html

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Java Generics und Java API (2/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer #2 Listen Bisher: Collections

Mehr

Programmieren 2 16 Java Collections und Generizität

Programmieren 2 16 Java Collections und Generizität Programmieren 2 16 Java Collections und Generizität Bachelor Medieninformatik Wintersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Faulheit professionell: Fertige Datenbehälter

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

Übungsklausur Programmieren / Algorithmen und Datenstrukturen 1

Übungsklausur Programmieren / Algorithmen und Datenstrukturen 1 Programmieren / Algorithmen und Datenstrukturen 1 Autor: Prof. Dr. Bernhard Humm, FB Informatik, Hochschule Darmstadt Datum: 28. Juni 2010 Übungsklausur Programmieren / Algorithmen und Datenstrukturen

Mehr

9. Vererbung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

9. Vererbung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 9. Vererbung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die

Mehr

Mocking Libraries Shootout

Mocking Libraries Shootout Mocking Libraries Shootout Warum ist Mocking interessant? Ermöglicht Tests ohne echte Testumgebung Schnelle Tests durch gute Test-Isolation Kontrolle des indirekten Inputs Simulation von Fehlern Überprüfung

Mehr

II.4.4 Exceptions - 1 -

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

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0 9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung

Mehr

16. Ausnahmebehandlung Programmieren / Algorithmen und Datenstrukturen 2

16. Ausnahmebehandlung Programmieren / Algorithmen und Datenstrukturen 2 16. Ausnahmebehandlung Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen Motivation Fehlerbehandlung

Mehr

4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java)

4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java) 4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 8./15. November 2005 Einordnung

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

II.4.6 Collections - 1 -

II.4.6 Collections - 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.6 Collections - 1 - Typische Datenstrukturen

Mehr

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12. Heute Nachbetrachtung Wissensüberprüfung Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.2015 IT I - VO 9 1 Organisatorisches Zwischentest findet am 16.12. von 17:30 bis

Mehr

Eine Normalform für Services Serviceorientierte Architektur konkret

Eine Normalform für Services Serviceorientierte Architektur konkret Eine Normalform für Services Serviceorientierte Architektur konkret Prof. Dr. Bernhard Humm, Oliver Juwig Software Engineering 2006 Leipzig, 30. März 2006 Serviceorientierte Architektur (SOA) erfolgreich

Mehr

Generische Polymorphie in Java-

Generische Polymorphie in Java- Generische Polymorphie in Java- Johannes Waldmann (HTWK Leipzig) Plan Beispiel Collections, Iteratoren, Maps Schnittstellen und Implementierungen Genaueres zum Typsystem Details zu Implementierungen zur

Mehr

Programmiertechnik II

Programmiertechnik II Programmiertechnik II Datentypen Primitive Typen in Java Wertesemantik (keine Referenzsemantik) Vordefinierte Hüllklassen (etwa java.lang.float) Integrale Typen: char, byte, short, int, long Gleitkommatypen:

Mehr

Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper

Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 1 Einleitung Collections sind Datenstrukturen für Sammlungen von Daten Stacks Queues Priority

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

1. Einführung Advanced Programming Techniques. Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

1. Einführung Advanced Programming Techniques. Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1. Einführung Advanced Programming Techniques Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Advanced

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

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,

Mehr

Teil 2-3. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II

Teil 2-3. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II Teil 2-3. Vorlesung Modul: Programmierung B-PRG Professur für Datenbanken und Informationssysteme Dr. Karsten Tolle tolle@dbis.cs.uni-frankfurt.de 1 Wrapper-Klassen Alle primitive Datentypen haben eine

Mehr

Aufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 {

Aufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 { Hochschule Harz Programmierung1 Aufgabe 10: FB Automatisierung und Informatik Dipl.-Inf. Dipl.-Ing. (FH) M. Wilhelm Programmierung 1 für MI / WI Thema: Hashing und Generische Klassen Versuchsziele Kenntnisse

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

Mehr

15. Ausnahmebehandlung Programmieren / Algorithmen und Datenstrukturen 2

15. Ausnahmebehandlung Programmieren / Algorithmen und Datenstrukturen 2 15. Ausnahmebehandlung Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Motivation Fehlerbehandlung Übung

Mehr

13 Abstrakte Datentypen

13 Abstrakte Datentypen 13 Abstrakte Datentypen Bisher: Konkrete Datentypen Menge von Elementen Operationen auf den Elementen (Konstruktoren, Selektoren, Typprädikate) Eigenschaften abgeleitet Jetzt: Abstrakte Datentypen (ADT)

Mehr

Programmieren I. Kapitel 13. Listen

Programmieren I. Kapitel 13. Listen Programmieren I Kapitel 13. Listen Kapitel 13: Listen Ziel: eigene Datenstrukturen erstellen können und eine wichtige vordefinierte Datenstruktur( familie) kennenlernen zusammengehörige Elemente zusammenfassen

Mehr

Algorithmen und Datenstrukturen

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

Mehr

Vererbung und Polymorphie

Vererbung und Polymorphie Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter

Mehr

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Aufgabe : Die allgemeine Object-Liste Gegeben sei folgendes UML-Klassendiagramm: MyObjectList

Mehr

ALP II Dynamische Datenmengen

ALP II Dynamische Datenmengen ALP II Dynamische Datenmengen Teil III Iteratoren Iterator-Objekt O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 22. ALP2-Vorlesung, M. Esponda 2 Motivation: Iteratoren Wir haben für die Implementierung

Mehr

Programmiertechnik II

Programmiertechnik II Datentypen in Java Primitive Typen in Java Wertesemantik (keine Referenzsemantik) Vordefinierte Hüllklassen (etwa java.lang.float) Integrale Typen: char, byte, short, int, long Gleitkommatypen: float,

Mehr

7. Objektorientierung. Informatik II für Verkehrsingenieure

7. Objektorientierung. Informatik II für Verkehrsingenieure 7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Objektorientierte Implementierung

Objektorientierte Implementierung Objektorientierte Implementierung 10) Verfeinern von Assoziationen mit dem Java-2 Collection Framework Softwaretechnologie, Prof. Uwe Aßmann, Prof. Heinrich Hussmann 1 Objektorientierte Implementierung

Mehr

Programmiertechnik II WS 2017/18

Programmiertechnik II WS 2017/18 Programmiertechnik II WS 2017/18 Fakultät Informatik Bachelor Angewandte Informatik Prof. Dr. Oliver Bittel bittel@htwg-konstanz.de www-home.htwg-konstanz.de/~bittel WS 17/18 Überblick OOP: Schnittstellen

Mehr

Programmiertechnik II SS Fakultät Informatik Bachelor Angewandte Informatik

Programmiertechnik II SS Fakultät Informatik Bachelor Angewandte Informatik Programmiertechnik II SS 2017 Fakultät Informatik Bachelor Angewandte Informatik Prof. Dr. Oliver Bittel bittel@htwg-konstanz.de www-home.htwg-konstanz.de/~bittel SS 2017 Überblick! OOP: Schnittstellen

Mehr

1. Welches Interface ist nicht von Collection abgeleitet? A. B. C. D. List Set Map SortedSet. 2. Welche Aussagen sind richtig?

1. Welches Interface ist nicht von Collection abgeleitet? A. B. C. D. List Set Map SortedSet. 2. Welche Aussagen sind richtig? Prof. Dr. Detlef Krömker Ashraf Abu Baker Robert-Mayer-Str. 10 60054 Frankfurt am Main Tel.: +49 (0)69798-24600 Fax: +49 (0)69798-24603 EMail: baker@gdv.cs.uni-frankfurt.de 1. Welches Interface ist nicht

Mehr

10. Pakete Einführung in die Programmierung (fbw) Sommersemester 2007 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

10. Pakete Einführung in die Programmierung (fbw) Sommersemester 2007 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 10. Pakete Einführung in die Programmierung (fbw) Sommersemester 2007 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die

Mehr

Abstrakte Datentypen und Java

Abstrakte Datentypen und Java Abstrakte Datentypen und Java ƒ hehueolfn ƒ 5HDOLVLHUXQJYRQ$'7 NRQNUHWH'DWHQW\SHQ %HLVSLHO5DWLRQDOH=DKO ƒ 3DUDPHWULVLHUWH'DWHQW\SHQ %HLVSLHO)HOG6RUWLHUWHV)HOG ƒ 6FKQLWWVWHOOHQNRQ]HSW ƒ :LFKWLJH'DWHQW\SHQLQ-DYD

Mehr

Teil 2-3. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II

Teil 2-3. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II Teil 2-3. Vorlesung Modul: Programmierung B-PRG Professur für Datenbanken und Informationssysteme Dr. Karsten Tolle tolle@dbis.cs.uni-frankfurt.de 1 http://nightofscience.de/ 2 Vererbung Syntax Syntax:

Mehr

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:

Mehr

Die abstrakte Klasse Expression:

Die abstrakte Klasse Expression: Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const 501 Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const Leider (zum Glück?) lässt sich nicht die

Mehr

Teil II) Objektorientierte Implementierung 10) Verfeinern von UML-Assoziationen mit dem Java-2 Collection Framework

Teil II) Objektorientierte Implementierung 10) Verfeinern von UML-Assoziationen mit dem Java-2 Collection Framework Teil II) Objektorientierte Implementierung 10) Verfeinern von UML-Assoziationen mit dem Java-2 Collection Framework Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl

Mehr

Beispiel: die Klasse Brüche

Beispiel: die Klasse Brüche Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -138 Beispiel: die Klasse Brüche class Fraction { int num; Int denom; // numerator // denominator Fraction (int n, int d) { num =

Mehr

Ersetzbarkeit und Verhalten

Ersetzbarkeit und Verhalten Ersetzbarkeit und Verhalten U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Struktur der Typen für Ersetzbarkeit nicht ausreichend Beispiel: void

Mehr

Programmiermethodik 1. Klausur

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

Mehr

Algorithmen und Programmierung II

Algorithmen und Programmierung II Algorithmen und Programmierung II Abstrakte Klassen, Schnittstellen und ADT Prof. Dr. Margarita Esponda SS 2012 1 Interfaces In Java sind Interfaces sowohl ein Abstraktionsmittel (zum Verbergen von Details

Mehr

Programmierkurs Java

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

Mehr

Programmiermethodik 3. Klausur Lösung

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

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

11. Vektoren und Pointer Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

11. Vektoren und Pointer Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 11. Vektoren und Pointer Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Klassen und Objekte Evaluation Was ist der Unterschied

Mehr

Grundkonzepte java.util.list

Grundkonzepte java.util.list Grundkonzepte java.util.list Eine List ist eine Spezialisierung einer allgemeinen Ansammlung (Collection): Lineare Ordnung ist definiert Zugriff über Rang oder Position Volle Kontrolle wo eingefügt bzw.

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

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

Mehr

Algorithmen und Datenstrukturen CS1017

Algorithmen und Datenstrukturen CS1017 Algorithmen und Datenstrukturen CS1017 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Datenstruktur, Datentyp, Datenabstraktion Abstrakter Datentyp / Datenabstraktion Kollektionen

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Überblick Parametrisierte Datentypen mit Java Generics Java Collections Framework Parametrisierte

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList

Mehr

Informatik II. Übungsstunde 6. Distributed Systems Group, ETH Zürich

Informatik II. Übungsstunde 6. Distributed Systems Group, ETH Zürich Informatik II Übungsstunde 6 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Besprechung der Vorlesung Uebungsbezogene Themen: Statisches & Dynamisches Type Checking Zeit zum Programmieren...

Mehr

Programmiertechnik II

Programmiertechnik II Datentypen in Java Primitive Typen in Java Wertesemantik (keine Referenzsemantik) Vordefinierte Hüllklassen (etwa java.lang.float) Integrale Typen: char, byte, short, int, long Gleitkommatypen: float,

Mehr