CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
|
|
- Carin Schmitz
- vor 6 Jahren
- Abrufe
Transkript
1 CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Interface Seite 1
2 Schnittstelle / Interface Seite 2
3 Spezifikation / Schnittstelle / Interface Spezifikation Beschreibung einer Komponente Dient als Basis der Implementierung Nicht Bestandteil (des Codes) der Komponente Begr if Schnittstelle Beschreibung einer Komponente Dient als Basis der Benutzung der Komponente Bestandteil der Komponente (ihr sichtbarer Teil) fsübe rs i ch t Interface Beschreibung einer (Gruppe von) Komponente(n) Dient als Basis der Benutzung der Komponente(n) Nicht Bestandteil der Komponente Java-Konstrukt Seite 3
4 Spezifikation / Schnittstelle / Interface : UML Spezifikation Schnittstelle Interface Beschreibung des Verhaltens einer Komponente Reduktion der Spezifikation auf ihre syntaktischen Bestandteile Schnittstelle als eigenständiges herausgelöstes Konstrukt Spezifikation Stack - elems: Sequence(double) + Stack() + empty():bool + full():bool + push(int):void + pop():void + top():int Schnittstelle Interface init: <> inv: size(elems) <= 10 pre: post: return size(elems)==0 pre: post: size(elems)==10 pre: size(elems)<10 post: elems = x+elems@pre <<interface>> Stack + empty():bool + full():bool + push(int):void + pop():void + top():int pre: size(elems)>0 post: elems@pre = x + elems pre: size(elems)>0 post: returns first(elems) Seite 4
5 Interface in UML Interface-Piktogramm Bestandteil von Klassendiagrammen Piktogramm ähnlich zu Klassendiagramm Zwei Bereiche Name mit Stereotyp <<interface>> Methoden Stereotyp-Bezeichnung <<interface>> Stack empty():bool full():bool push(int):void pop():void top():int Name Methoden (implizit oder explizit alle öffentlich) Seite 5
6 Interface in Java Interface Definition als interface entsprechend einer Klasse Die Definition kann enthalten Deklaration nicht statischer Methoden (Kopf der Methode) Definition von statischen Konstanten Definition von Klassen-Typen (class, oder interface) Ein Interface beschreibt die Schnittstelle der Objekte (!) der Klassen, die das Interface implementieren public interface Stack { int top(); void push(int x); void pop(); Interface-Definition in Java: - Methoden ohne Körper - keine Konstruktoren - alle Methoden sind immer public (ob man es hinschreibt oder nicht) - Konstanten (implizit public static final) - Typdefinition (class / enum / interface) Seite 6
7 Interface und Ausnahmen public interface Stack { int top() throws IllegalStateException ; void push(int x) throws IllegalStateException ; void pop(); Schnittstellen-Definition deklarieren auch die Ausnahmen von Methoden Seite 7
8 Implementierung eines Interface / UML UML-Piktogramm implementiert (realisiert) ArrayStack - count: int - elem: int[10] + Stack() + empty():bool + full():bool + push(int):void + pop():void + top():int <<interface>> Stack empty():bool full():bool push(int):void pop():void top():int UML-Piktogramm Interface weiteres UML-Piktogramm für ein Interface Stack ArrayStack realisiert (implementiert) die Stack-Schnittstelle Seite 8 ArrayStack abgekürzte Notation mit speziellem Piktogramm für Schnittstellen
9 Implementierung eines Interface / Java Klassen implementieren ein Interface, wenn sie (ihre Objekte) eine Implementierung aller Methoden des Interface bieten (wenn also ihre Schnittstelle das Interface umfasst) und wenn sie dies explizit erklären. Stack public class ArrayStack implements Stack { private int count; private int[] a = new int[10]; public ArrayStack() { count = 0; ArrayStack Stack public int top() throws StackEmptyEx { ArrayStack Interface und implementierende Klasse : Zwei alternative Darstelllungen in UML Seite 9
10 Interface : Verwendung Benutzung eines Interface kann in UML explizit dargestellt werden in Java ist die Verwendung nur implizit erkennbar public class StackUser { private Stack stack; nutzt / benötigt / importiert das Interface Stack public StackUser(Stack stack) { this.stack = stack; public void use() { Scanner scan = new Scanner(System.in); try { int x = scan.nextint(); while (x > 0 ) { stack.push( x ); x = scan.nextint(); catch( Exception e ) { System.out.println(e); Import-Interface: Funktionalität benötigen Export-Interface: Funktionalität bereit stellen StackUser benötigt / benutzt Stack-Interface / braucht die Stack-Funktionalität StackUser Stack Stack ArrayStack ArrayStack bietet StackFunktionalität Seite 10
11 Interface und anonyme Klassen interface Stack { int top(); void push(int x); void pop(); static void use(stack stack) { Scanner scan = new Scanner(System.in); int x = scan.nextint(); while (x > 0) { stack.push(x); x = scan.nextint(); public static void main(string[] args) { use( new Stack() { private int count = -1; private int[] a = new public void pop() { public void push(int x) { a[++count] = public int top() { return a[count]; ); Seite 11 Eine anonyme innere Klasse die das Interface Stack implementiert.
12 Interface Objekt Interfaces: allgemeine (Standard-) Typen Seite 12
13 Interface : Verwendung Ein Interface ist ein Typ Verwendung als Parametertyp / Ergebnistyp als Typ einer Variablen public void usestack(stack stack) { stack.push(5); nutze irgendeine Art von Stack usestack( new ArrayStack() );... z.b. einen ArrayStack Stack astack; astack = new ArrayStack();... z.b. mit einen ArrayStack belege mit irgendeiner Art von Stack Seite 13
14 Interface : Entkopplung von Anbieter und Nutzer Interfaces machen den Programmcode flexibler durch die Entkopplung von Anbieter und Nutzer einer Funktionalität User Benutzer-Klassen benötigen eine bestimmte Funktionalität dargestellt durch eine Schnittstelle Sie verwenden im Code das entsprechende Interface <<user>> Interface Die Funktionalität / Schnittstelle kann von mehreren Anbieter-Klassen realisiert werden Sie implementieren das entsprechende Interface Jede beliebige Anbieter-Klasse (Implementierung) kann von der Benutzerklasse genutzt werden Schnittstelle : Schnittstelle als JavaKonstrukt Schnittstelle Schnittstelle Anbieter und Benutzer sind entkoppelt Interfaces machen nur dann Sinn, wenn eine Schnittstelle (eventuell) von mehreren Klassen implementiert werden kann! Seite 14 2 (Anbieter-) Klassen mit gleicher Schnittstelle
15 Interface: Verwendung als Entkoppler public class ArrayStack implements Stack { private int[] a = new int[10];... Variante 1 der Stack-Impl. Stackimplementierung mit Feld Ein Exemplar der Klasse ArrayStack ist ein Stack ; Ein Exemplar der Klasse VarStack ist ein Stack ; Ein Exemplar der Klasse StackUser, benutzt ein (oder mehrere) Objekt(e) die Stacks sind. ArrayStack public class VarStack implements Stack { private int a0,a1,a2,a3, a5,a6,a7,a8,a9;... Variante 2 der Stack-Impl. VarStack Stack Stack Stack Stackimplementierung mit Variablen StackUser public static void main(string[] args) { Stackuser stackuser1 = new StackUser( new ArrayStack() ); Stackuser stackuser2 = new StackUser( new VarStack() );... Seite 15
16 Interface und Typ Ein Interface ist ein Typ ArrayStack VarStack Der Typ eines Interface ist eine Verallgemeinerung des Typs der Implementierungs-Klassen Ein ArrayStack ist eine Art von Stack Jedes Exemplar der Klasse / des Typs ArrayStack ist ein Exemplar des Typs Stack Ein VarStack ist eine Art von Stack Jedes Exemplar der Klasse / des Typs VarStack ist ein Exemplar des Typs Stack Stack ist allgemeiner als ArrayStack ist allgemeiner als VarStack Wir sind alle Stacks Wir sind alle Stacks Wir benötigen Dinge vom Typ Stack StackUser Seite 16
17 Interface und Schnittstelle Interface Schnittstelle Die Schnittstelle einer Klasse ist Bestandteil der Klassendefinition Ein Interface ist nicht Teil einer Klassendefinition Ein Interface hat eine eigene Existenz Schnittstelle ~ Gesicht Interface ~ Maske Interface Schnittstelle Die Schnittstelle ist integraler Bestandteil der Definition Ihre Benutzersicht. Das Interface ist vorgesetzt, es passt exakt zu (einem Teil) der Schnittstelle Seite 17
18 Interface und Typ Override (to override: aufheben, ausschalten, überschreiben, überspielen, ) Die Annotation Override sagt dass eine Definition eine andere überschreibt / ersetzt. Ab Java 1.6: Override kann (sollte) auch verwendet werden, wenn eine Methodendefinition in einer Klasse die (Ankündigung einer) Definition in einem Interface ersetzt. public interface Stack { int top(); überschreibt public class ArrayStack implements Stack public top() { Seite 18
19 Interface und ADT Seite 19
20 Interface und ADT Ein abstrakter Datentyp (ADT) ist ein selbst implementierter Datentyp ADT: Abstrakter Datentyp Bei einem Konstrukt (Klassendefinition) sind Schnittstelle und Implementierung getrennt (Geheimnisprinzip / Kapselung). Zu einer Schnittstelle gibt es genau eine Implementierung. Schnittstelle Implementierung Geheimnisprinzip Schnittstelle als Interface Interface Schnittstelle und Implementierung sind als Sprachkonstrukte (Klasse und Interface) getrennt. Zu einer Schnittstelle kann es beliebig viele Implementierungen geben Schnittstelle Schnittstelle Implementierung A Implementierung B Geheimnisprinzip plus Entkopplung der Schnittstelle Seite 20
21 Interface und ADT: Beispiel Stack Beispiel Stack: Interface OK ArrayStack Stack public interface Stack { void push ( int x ); void pop(); int pop(); VarStack Stack public class ArrayStack implements Stack { public class VarStack implements Stack { private int count; private int[] a = new int[10]; private int a0,a1,a2,a3, a5,a6,a7,a8,a9;... Konstruktor(en) Methoden-Implementierung Konstruktor(en) Methoden-Implementierung... Schnittstelle als eigenständiges Programmkonstrukt ist sinnvoll: Die Stack-Klasse(n) und Anwender sind maximal entkoppelt; Für eine Stack-Benutzer ist es unerheblich welche Variante er nutzt. Seite 21
22 Interface und ADT: Beispiel Vektor Beispiel Vektor KarthesischerVektor Vektor public interface Vektor { void add ( Vektor v ); PolarKoordVektor Vektor public class KarthesischerVektor implements Vektor { y private double x; private double y; x public void add ( Vektor v ) {... Problem? public class PolarKoordVektor implements Vektor { private double rho; l rho private double l; public void add ( Vektor v ) {... Seite 22
23 Interface und ADT: Beispiel Vektor Beispiel Vektor: Interface zweifelhaft public interface Vektor { public void add ( Vektor v ); KarthesischerVektor Vektor PolarKoordVektor public class KarthesischerVektor Vektor implements Vektor { private double x; private double y; public void add ( Vektor v ) { if ( v instanceof KarthesischerVektor) { Stapel interagieren nicht, Vektoren aber sehr wohl!... einfach... else {... kompliziert / Umwandeln enge Kopplung der beiden Vektor-Implementierungen wahrscheinlich nicht sinnvoll eine Vektor-Implementierung reicht wohl Seite 23
24 Interface und ADT: Stapel / Vektor Stapel Zustands-orientierte Klasse Objekte modellieren Stack-Variablen Stapel ist Container-Typ (stark Schnittstellenorientiert, Innenleben nicht interessant) Keine Operation, die mehr als einen Stack verarbeitet (art-fremde Stacks begegnen sich nie) Integer push pop top ADT Stack Signaturdiagramm Vektor Wert-orientierte Klasse Objekte modellieren Vektoren Operation, die mehr als einen Vektor-Wert verarbeiten (art-fremde Vektoren können sich begegnen) Stack add Vektor sub ADT Vektor Signaturdiagramm Seite 24
25 Interface und ADT: Stapel / Vektor Stapel Interface zur Vereinheitlichung von Implementierungsvarianten OK! Vektor Interface zur Vereinheitlichung von Implementierungsvarianten Wenig sinnvoll! Ein Interface als Zusammenfassung unterschiedlicher ImplementierungsVarianten kann sinnvoll sein, muss aber nicht! Seite 25
26 Interface als Gemeinsames unterschiedlicher Schnittstellen allgemeine Funktionalität ADT Bei einem Konstrukt (Klassendefinition) sind Schnittstelle und Implementierung getrennt (Geheimnisprinzip / Kapselung). Zu einer Schnittstelle gibt es genau eine Implementierung. Schnittstelle A als Interface weitere speziellere Funktionalitäten Interface Schnittstelle und Implementierung sind als Sprachkonstrukte (Klasse und Interface) getrennt. Schnittstelle A Schnittstelle A Zu einer Schnittstelle kann es beliebig Schnittstelle A1 Schnittstelle A2 viele Implementierungen geben Zu einer Schnittstelle kann es beliebig Implementierung X Implementierung Y viele weiter spezialisierte Schnittstellen geben. (Bieten mehr als Geheimnisprinzip plus Entkopplung der die Basis-Funktionalität) Schnittstelle plus Verallgemeinerung der Schnittstelle Seite 26
27 Interface als Gemeinsames unterschiedlicher Schnittstellen Grasfresser Grasfresser Grasfresser Milch-Lieferant Woll-Lieferant Kuh Schaf Grasfresser : können mit Gras gefüttert werden Kühe : können mit Gras gefüttert werden und geben Milch Schafe : können mit Gras gefüttert werden und geben Wolle Die Grasfresser müssen noch mit Gras gefüttert werden! Beim Füttern ist es egal, welches Tier gefüttert wird, solange es Gras fressen kann. Es kommt nur auf das Grasfressen an. Seite 27
28 Interface als Gemeinsames unterschiedlicher Schnittstellen public interface GrasFresser { void fresse(gras g); public final class Kuh implements GrasFresser { private boolean satt; public class Bauer { public final void fuettern(grasfresser[] stall, Gras[] grasvorrat) { int i = 0; for (GrasFresser fresser : stall) { fresser.fresse(grasvorrat[i++]); public final class Schaf implements GrasFresser { private boolean public void fresse(gras g) { satt = true; public void fresse(gras g) { satt = true; System.out.println("BAEHH"); public Milch melke() { satt = false; return new Milch(); public Wolle schere() { satt = false; return new Wolle(); Seite 28
29 Interface als Gemeinsames unterschiedlicher Schnittstellen public static void main(string[] args) { Bauer egon = new Bauer(); GrasFresser[] stall = new GrasFresser[3]; stall[0] = new Kuh(); stall[1] = new Schaf(); stall[2] = new Kuh(); Gras[] grasvorrat = grasvorrat[0] = new grasvorrat[1] = new grasvorrat[2] = new Nun fresst schön ihr GrasFresser! new Gras[3]; Gras(); Gras(); Gras(); egon.fuettern(stall, grasvorrat); Bauer egon public class Bauer { public final void fuettern(grasfresser[] stall, Gras[] grasvorrat) { int i = 0; for (GrasFresser fresser : stall) { fresser.fresse(grasvorrat[i++]); Seite 29
30 Klasse und Interface Klasse und Interface Eine Klasse kann mehrere Interfaces implementieren: Ihre Objekte sind in der Lage mehrere Rolle zu spielen. WollTier GrasFresser Gentlemen Verbrecher Schaf IrrerArzt Seite 30
31 Klasse und Interface public interface WollTier { Wolle schere(); WollTier GrasFresser public interface GrasFresser { void fresse(gras g); Schaf public final class Schaf implements GrasFresser, WollTier { private boolean public void fresse(gras g) { satt = true; public Wolle schere() { satt = false; return new Wolle(); Seite 31
32 Klasse und Interface Statischer und dynamischer Typ Statischer Typ: Der rein aus dem Programmtext erkennbare Typ eines Ausdrucks im Programmtext (Variable, Parameter, arithmetischer Ausdruck, etc.) Der statische Typ spielt in Java die erste Geige : er steuert die Code-Erzeugung des Compilers. WollTier wt = new Schaf(); wt.fresse(new Gras()); The method fresse(gras) is undefined for Type WollTier Fressen?: Geht nicht: Zum (statischen) Typ WollTier gibt es keine Methode fresse! Dynamischer Typ: Der Typ eines Objektes zur Laufzeit. Der dynamische Typ spielt in Java die zweite Geige : Er steuert die Feinheiten des Verhaltens. Der dynamische Typ muss immer zum statischen Typ passen. Grassfresser gf1 = new Schaf(); Grassfresser gf2 = new Kuh(); gf1.fresse(new Gras()); gf2.fresse(new Gras()); Fresse Gras nach Art der Schafe. Fresse Gras nach Art der Kühe Seite 32
33 Klasse und Interface public static void main(string[] args) { Bauer egon = new Bauer(); WollTier GrasFresser GrasFresser[] stall = new GrasFresser[2]; stall[0] = new Kuh(); stall[1] = new Schaf(); Gras[] grasvorrat = new Gras[2]; grasvorrat[0] = new Gras(); grasvorrat[1] = new Gras(); Schaf Cast: egon.fuettern(stall, grasvorrat); WollTier wt = new Schaf(); egon.scheren(new WollTier[]{ wt ) stall[1] hat den Typ GrassFresser, scheren erwartet WollTiere. Der GrassFresser in stall[1] muss mit (WollTier) als WollTier deklariert werden (Cast). Wolle w = egon.scheren(new WollTier[]{ (WollTier) stall[1] ); Seite 33
34 Klasse und Interface Statischer und dynamischer Typ : Cast Ein Ausdruck hat einen festen statischen Typ und zur Laufzeit (wechselnde) Werte mit jeweils einem eventuell anderen - dynamischen Typ. Der statische Typ kann mit einem Cast geändert werden, wenn das Objekt den geforderten Typ haben könnte. Zur Laufzeit wird geprüft, ob dies tatsächlich der Fall ist. GrasFresser[] stall = In stall[1] könnte ein WollTier sein, denn es gibt GrasFresser die WollTiere sind. Eine Prüfung ist aber sinnvoll, denn nicht alle GrasFresser sind WollTiere. WollTier GrasFresser (WollTier) stall[1] Schaf MilchTier Kuh Der Cast wird zur Laufzeit überwacht: Ist da wirklich ein Wolltier in stall[1]? Seite 34
35 Interface : Zusammenfassung Interface Das Konzept Interface ist sehr wichtig für einen modernen Programmierstil (nicht nur) in Java. Ein Interface trennt Verhalten und Verwendbarkeit von Implementierungen auf Sprachebene. Statt wie das Konzept der Schnittstelle auf konzeptioneller Ebene. Ein Interface definiert einen Typ: D.h. Eine Verwendungsmöglichkeit für Objekte! Eine Klasse, die ein Interface implementiert, kann Objekte erzeugen, die entsprechend verwendbar sind. Variablen und Parameter sollten als Typ (wenn möglich) ein Interface haben. Der Typ einer Variablen sollte die minimale Anforderung an deren Inhalte (Werte) formulieren. Seite 35
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Th Letschert UML Seite 1 Th Letschert UML - Klassen- / Paket- / Sequenzdiagramm - UML / OCL in Spezifikation und Implementierung
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen
Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
Mehr12 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,
MehrInformatik II Übung 6 Gruppe 7
Informatik II Übung 6 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch DEBRIEFING Übung 5 2 U5A1-4 Im Prinzip alles richtig. Falls am Ende noch Zeit, dann Einsicht in die Best Of s 3 THEORIE Java Vererbung,
MehrInstitut 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
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrDie 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
Mehr7. 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
MehrWeitere 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
MehrEinstieg 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
Mehr1 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,
MehrCoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.
CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 13: Interfaces Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Interfaces Motivation Eigenschaften Besonderheiten Anonyme Klassen Lambda-Ausdrücke Praxis:
MehrAufgabenblatt 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
Mehr7. 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
MehrKapitel 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
MehrBeispiel: 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 =
MehrCS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Objektorientierung I : Statische Klassen Statische Aspekte (Modularisierung) Dynamische Aspekte (Klassen-Objekte) Seite 1 Th Letschert
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrInformatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
Mehr1 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
MehrInfo 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
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrProgrammieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
MehrKapitel 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
MehrWie 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
MehrProgrammieren 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
MehrAlgorithmen und Programmierung III
Musterlösung zum 4. Aufgabenblatt zur Vorlesung WS 2006 Algorithmen und Programmierung III von Christian Grümme Aufgabe 1 Amortisierte Analyse 10 Punkte Zu erst betrachte ich wie oft die letzte Ziffer
MehrGrundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrInformatik 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...
MehrTafelübung 07 Algorithmen und Datenstrukturen
Tafelübung 07 Algorithmen und Datenstrukturen Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Vererbung Grundlagen Abstrakte
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
MehrPrüfung Softwareentwicklung II (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B, IB 2 C Sommersemester 2013 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2013, 08:30 Uhr
MehrProgrammieren 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
MehrII. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
Mehr2.3 Implementierung und Anwendung von ADT Anwendung von ADT... am Beispiel "Stapel"
2.3 Implementierung und Anwendung von ADT 2.3.1 Anwendung von ADT. am Beispiel "Stapel" Ziel Implementierung einer Anwendung ohne Annahmen über die Implementierung der Typen Austauschen der Implementierung
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Schnittstellen, Vererbung & Polymorphismus für Fortgeschrittene
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Schnittstellen, Vererbung & Polymorphismus für Fortgeschrittene Motivation Aufgabe: Finanzbuchhaltungssystem für internationale Hotelkette
MehrAbschnitt 10: Typisierte Klassen
Abschnitt 10: Typisierte Klassen 10. Typisierte Klassen 10.1 Einführung: Grenzen der Typ-Polymorphie durch Vererbung 10.2 Grundlagen 10.3 Vererbung bei typisierten Klassen 10.4 Wildcards, obere und untere
MehrPolymorphie/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
MehrGrundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
MehrTeil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
MehrWas du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe.
Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe http://www.zitate-online.de/autor/goethe-johann-wolfgang-von/ http://www.weimar-lese.de/files_weimar_lese/johann_wolfgang_von_goethe_bearbeitet_von_andreas_werner.jpg
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
Mehr// compiliert, aber Programmabbruch zur Laufzeit: einesuppe = ((EßbarerPilz)einPilz).kochen();
Typecast class Pilz void suchen() void sammeln() class EßbarerPilz extends Pilz Suppe kochen() Suppe einesuppe = new Suppe(); return einesuppe; class GiftPilz extends Pilz void entsorgen() class Suppe
MehrKapitel 5: Interfaces
Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 5: Interfaces Folie 82 : Einleitung Betrachtet man die Programmierleistung für ein Produkt über einen längeren Zeitraum,
MehrInformatik II Übung 6
Informatik II Übung 6 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 11.4.2018 Carina Fuss 11.4.2018 1 Übung 6 Nachbesprechung Übung 5 Objektorientierung Vererbung, Polymorphie, abstrakte Klassen, Interfaces,
MehrObjektorientierte Konzepte
Objektorientierte Konzepte Objekt Klasse enthaltender Polymorphismus (Untertypen) Vererbung Objektorientierte Programmierung, Grundlagen und Ziele 1 Objekt Objekt kapselt Variablen und Routinen Interaktionen
MehrGrundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, Polymorphie und innere Klassen 2 Vererbung im Klassendiagramm (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Object
MehrFH 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
MehrKapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
MehrKlassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, Schnittstellen und Pakete
2 Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, und Pakete Martin Wirsing Ziele Den Begriff der einfachen und mehrfachen Vererbung verstehen Verstehen, wann Vererbung eingesetzt wird deklarationen
MehrTh. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen
Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th Letschert FH Gießen-Friedberg Th. Letschert OOP 2 Sichtbarkeitsbeziehungen und Geheimnisprinzip Sichtbarkeitsbeziehungen realisieren
MehrALP II Dynamische Datenmengen Datenabstraktion
ALP II Dynamische Datenmengen Datenabstraktion O1 O2 O3 O4 SS 2012 Prof Dr Margarita Esponda M Esponda-Argüero 1 Dynamische Datenmengen Dynamische Datenmengen können durch verschiedene Datenstrukturen
MehrProgrammierkurs Java
Programmierkurs Java Abstrakte Klassen und Methoden & Interfaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie
MehrProgrammieren 1 08 Objekte und Interfaces
Programmieren 1 08 Objekte und Interfaces Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Objektorientierung: Von Static zu Instance Klasse
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Virtuelle Methodentabellen Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 9. Juli 2015 Struktur der Objektorientierung Ein wenig Java: public
MehrFaulheit 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
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2016/17 11. Vorlesung Elementare Datenstrukturen: Stapel + Schlange + Liste Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2-4 Zur Erinnerung Datenstruktur:
MehrInfo B VL 11: Innere Klassen/Collections
Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections
Mehr3. Java - Sprachkonstrukte I
Lernziele 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken, Typkonversionen Sie kennen die grundlegensten Bausteine
MehrProgrammieren in Java
Programmieren in Java Vorlesung 07: Composite Classes Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 23 Inhalt
MehrVorkurs 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
MehrRepetitorium 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
MehrArbeitsblätter für die Lehrveranstaltung OOP JAVA 1
Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur
MehrTutoraufgabe 1 (Implementierung eines ADTs):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Tutoriumslösung - Übung (Abgabe.05.0) F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe (Implementierung eines ADTs): Wir spezifizieren den ADT
MehrInnere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11
MehrInstitut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März
MehrKlausur: Java (Liste P)
Klausur: Java (Liste P) SS05 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen anzufertigen.
MehrOCP Java SE 8. Lambda
OCP Java SE 8 Lambda Lambda-Ausdruck sieht ähnlich wie eine Deklaration einer Methode ohne Name und Ergebnistyp aus (a, b) -> b.compareto(a) Lambda Vor Java 8 Ausführbarer Programmcode ( Verhalten ) nur
MehrInterface. So werden Interfaces gemacht
Design Ein Interface (=Schnittstelle / Definition) beschreibt, welche Funktionalität eine Implementation nach Aussen anzubieten hat. Die dahinter liegende Algorithmik wird aber der Implementation überlassen.
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrObjektorientierte Programmierung. Kapitel 14: Interfaces
14. Interfaces 1/26 Objektorientierte Programmierung Kapitel 14: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/
MehrGrundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
MehrAlgorithmen 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
MehrPhilipp Güttler Progwerkstatt Letzte Änderung: Enums, Interfaces, Generics und Threads
Philipp Güttler 18.11.2008 Progwerkstatt Letzte Änderung: 09.12.2009 Enums, Interfaces, Generics und Threads Seite 2 Enums Enums, Interfaces und Generics 17.11.2008 Enum Typen komplexer Datentyp, der festen
Mehr2.2 Spezifikation abstrakter Datentypen. 2.3 Implementierung und Anwendung von ADT. 2.4 Datenabstraktion und Objektorientierung
Inhaltsverzeichnis (update) 2 Datenabstraktion 2.1 Begriffe 2.2 Spezifikation abstrakter Datentypen 2.2.1 Algebraische Spezifikation 2.2.2 Modellierende Spezifikation 2.3 Implementierung und Anwendung
MehrOCP Java SE 8. Lambda
OCP Java SE 8 Lambda Lambda-Ausdruck sieht ähnlich wie eine Deklaration einer Methode ohne Name und Ergebnistyp aus (a, b) -> b.compareto(a) Lambda Vor Java 8 Ausführbarer Programmcode ( Verhalten ) nur
MehrProgrammieren in Java
Programmieren in Java Vorlesung 05: Generics Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 19 Inhalt Generics
MehrObjekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.
Objekte und Klassen INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? typedef struct Konto { double saldo; int id; Konto; Modul "konto" konto.h konto.c Prozedurale Programmierung:
Mehr3. Java - Sprachkonstrukte I
Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML Klassendiagramm zeigt Klassen und ihre Beziehungen untereinander Visualisierung und Modellierung der statischen Struktur eines Systems Klassen
MehrPraktische Softwaretechnologie Vorlesung 4
Praktische Softwaretechnologie Vorlesung 4 Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT 2006 31. Oktober 2006 p.1/28 Die Klasse
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrProgrammiermethodik 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
Mehr14. 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
MehrEINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrJava 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
MehrInnere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.
Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste
MehrProgrammieren I. Kapitel 8. Vererbung
Programmieren I Kapitel 8. Vererbung Kapitel 8: Vererbung Ziel: Wesentliches objektorientiertes Konzept kennenlernen Subtypen Idee Probleme und Varianten Vererbung in Java dynamische Bindung abstrakte
Mehr