Info B VL 5: Klassenabhängigkeiten
|
|
- Silke Lorenz
- vor 7 Jahren
- Abrufe
Transkript
1 Info B VL 5: Klassenabhängigkeiten Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 5: Klassenabhängigkeiten p.113
2 Klassenhierarchie Jede Klasse, die definiert wird, hat eine Oberklasse. Wenn keine Oberklasse (spezifiziert nach extends) angegeben wird, dann wird als Oberklasse java.lang.object vergeben. Als final deklarierte Klassen können nicht erweitert werden. z.b. java.lang.system Verhindern ungewünschter Erweiterungen (Compiler kann einige Optimierungen vornehmen) Info B VL 5: Klassenabhängigkeiten p.114
3 Klasse Object Wenn keine Oberklasse (spezifiziert nach extends) angegeben wird, dann wird als Oberklasse java.lang.object vergeben. Object ist eine Klasse mit speziellem Status: einzige Klasse, die keine Superklasse hat; alle Java Klassen erben die Methoden von Object. Vorteile einer solchen single rooted hierarchy : Jedes Objekt ist garantiert vom Typ Object. Klassen/Methoden, die auf allen Objekten arbeiten Für alle Objekte ist via Object garantiert, dass sie sinnvoll mit dem Laufzeit-System interagieren (z.b. Garbage Collection) Info B VL 5: Klassenabhängigkeiten p.115
4 Klassen-Baum In Java kann eine Klasse nur genau eine andere Klasse als Oberklasse haben. Im Gegensatz zu C++ gibt es keine Mehrfachvererbung Problem bei Mehrfachvererbung: Existiert dieselbe Komponente in mehr als einer Klasse, von der geerbt wird, muss geregelt werden, welche dieser Komponenten in die Unterklasse übernommen wird! Beispiel: java.lang.object und einige Unterklassen Info B VL 5: Klassenabhängigkeiten p.116
5 java.lang Boolean java.lang , Charles L. Perkins Cloneable Character Class ClassLoader FDBigInt local to package Serializable java.io-objects Compiler Math Number Process Byte Double Float Integer Long Object Runtime SecurityManager Short FloatingDecimal local to package String StringBuffer NullSecurityManager local to package System Runnable Thread ThreadGroup Throwable Void Error java.lang-errors Exception java.lang-exceptions ThreadDeath Info B VL 5: Klassenabhängigkeiten p.117
6 Vererbung und Konstruktoren (1) Erinnerung: PlaneCircle extends Circle // A new constructor method to initialize the new fields public PlaneCircle(double r, double x, double y) { super(r); // Invoke constructor of the superclass this.cx = x; // Initialize instance fields this.cy = y; } Info B VL 5: Klassenabhängigkeiten p.118
7 Vererbung und Konstruktoren (2) super(): Aufruf eines Oberklassen-Konstruktors (analog zu this(): Aufruf eines Klassen-Konstruktors) super() kann nur innerhalb einer Konstruktor-Methode benutzt werden Aufruf des Oberklassen-Konstruktors muss an erster Stelle in einem Konstruktor stehen (sogar vor der Deklaration lokaler Variablen) Argumente, die an super() übergeben werden, müssen mit der Signatur eines Oberklassen-Konstruktors übereinstimmen. Der entsprechende Konstruktor wird dann ausgewählt. Info B VL 5: Klassenabhängigkeiten p.119
8 Default-Konstruktoren (1) Java garantiert, dass immer, wenn eine Instanz einer Klasse erzeugt wird, eine Konstruktormethode der Klasse aufgerufen wird. Wenn die Klasse eine Unterklasse ist, ist ebenfalls garantiert, dass der Konstruktor der Oberklasse aufgerufen wird. Java muss sicherstellen, dass jede Konstruktormethode eine Konstruktormethode der Oberklasse aufruft. Wenn kein expliziert Aufruf angegeben ist, wird der Aufruf des Default Konstruktors super() eingefügt. Achtung: Wenn die Oberklasse keinen null-stelligen Konstruktor anbietet, erfolgt ein Compiler-Fehler! Info B VL 5: Klassenabhängigkeiten p.120
9 Default-Konstruktoren (2) Wenn eine Klasse gar keinen Konstruktor definiert, wird ein null-stelliger Default-Konstruktor erzeugt: public Klassen erhalten public Konstruktoren; alle anderen Klassen erhalten den default Konstruktor ohne Sichtbarkeits-Modifikator. Um zu verhindern, dass ein public Konstruktor eingefügt wird, sollte mindestens ein nicht-public Konstruktor definiert werden. Für Klassen, die nicht instantiiert werden sollen, sollte ein private Konstruktor definiert werden (kann nicht von ausserhalb der Klasse aufgerufen werden, verhindert automatische Einführung eines default-konstruktors.) (später: abstrakte Klassen) Info B VL 5: Klassenabhängigkeiten p.121
10 Konstruktor-Verkettung (constructor chaining) Wenn eine neue Instanz eines Objekts zur Klasse erzeugt wird, wird der entsprechende Konstruktor aufgerufen. Dieser ruft explizit oder implizt den Konstruktor der unmittelbaren Oberklasse auf usw., solange bis der Konstruktor der Klasse Object aufgerufen wird. Die Ausführung ist in umgekehrter Reihenfolge zum Aufruf, also zuerst wird Object() ausgeführt. Wann immer der Körper eines Konstruktors ausgeführt wird, ist sichergestellt, dass alle Felder der Oberklasse bereits initialisiert sind! Anmerkung finalizer chaining: finalize() Methoden werden nicht automatisch verkettet. super.finalize() Info B VL 5: Klassenabhängigkeiten p.122
11 Shadowing und Overriding Felder gleichen Namens und Methoden mit gleicher Signatur können in der Unterklasse neu definiert werden. Klassen- und Instanzfelder, sowie Klassenmethoden werden dabei überdeckt (shadowing) Instanzmethoden werden überschrieben (overriding) Info B VL 5: Klassenabhängigkeiten p.123
12 Verdecken von Feldern Beispiel: Weiteres Instanz-Feld in Klasse PlaneCircle, das die Distanz zwischen dem Kreismittelpunkt und dem Ursprung (0, 0) angibt, das r genannt wird, also dieselbe Bezeichnung hat, wie das Feld r (für Radius) in der Oberklasse Circle. class PlaneCircle extends Circle { public double r;... PlaneCircle(...) { // Pythagorean Theorem this.r = Math.sqrt(cx * cx + cy * cy); } } Info B VL 5: Klassenabhängigkeiten p.124
13 Zugriff auf verdecktes Feld r this.r super.r // Feld der aktuellen Klasse // dito // Feld der Oberklasse Alternativ: Cast des Objekts zur entsprechenden Oberklasse. ((Circle) this).r Klammerung beachten: erst Cast, dann Zugriff auf Feld! Info B VL 5: Klassenabhängigkeiten p.125
14 Zugriff via Casting in Klasse C: A +x B +x x // Field x in class C this.x // dito super.x // Field x in class B ((B)this).x // dito ((A)this).x // Field x in class A super.super.x // Illegal Syntax Bei Instanz von C: C +x C c = new C(); c.x ((B)c).x ((A)c).x // Field x of class C // Field x of class B // Field x of class A Info B VL 5: Klassenabhängigkeiten p.126
15 Überdecken von Klassen-F. analog zu Instanzfeldern Beispiel: PI mit höherer Genauigkeit class PlaneCircle extends Circle { public static final double PI = ; } Innerhalb von PlaneCircle: PI PlaneCircle.PI super.pi Circle.PI Ausserhalb: qualifizierter Name // Field PI in class PlaneCircle // dito // Field PI in class Circle // dito Info B VL 5: Klassenabhängigkeiten p.127
16 Überdecken von K.-Methoden Klassen-Methoden werden nicht überschrieben sondern nur überdeckt. Klasse. methode (), OberKlasse. methode () haben in jedem Fall verschiedene Namen Info B VL 5: Klassenabhängigkeiten p.128
17 Überschreiben von Methoden Wenn in einer Klasse eine Instanz-Methode definiert wird, die dieselbe Signatur (Name, Parameter) hat wie eine Methode der Oberklasse, wird die Methode der Oberklasse überschrieben: Wenn die Methode bei einem Objekt der Klasse aufgerufen wird, dann wird die neue Methodendefinition aktiviert. Überschreiben von Methoden ist eine wichtige Technik der objekt-orientierten Programmierung. Etwas konstruierte Erweiterung des Circle-Beispiels: Ellipse als Unterklasse von Circle mit neuer Definition von area() und circumference(). Es ist wichtig, dass für ein Objekt der Klasse Ellipse immer die neuen Methoden zur Berechnung verwendet werden! Info B VL 5: Klassenabhängigkeiten p.129
18 Feldreferenz in vererbten Methoden Wird eine Methode vererbt und existieren die in ihr verwendeten Felder auch in der Unterklasse, so werden weiterhin die Felder in der Oberklasse referenziert! class A { int x = 1; int y = 2; int f() { return x+y; } } class B extends A { int x = 21; int y = 22; } public class OverShad { public static void main (String[] args) { B myb = new B(); A mya = new A(); System.out.println(myB.f()); System.out.println(myA.f()); } } Info B VL 5: Klassenabhängigkeiten p.130
19 Dynamic Method Lookup Woher weiss der Compiler, ob er die Methode zur Oberklasse A oder zur Unterklasse B aufrufen soll, wenn beispielsweise ein Array von A Objekten definiert wurde, in dem manche Objekte zur Klasse B gehören können? Kann er nicht wissen: Code, der dynamisches Method Lookup zur Laufzeit benutzt: Interpreter prüft Typ eines Objektes und ruft die entsprechende Methode auf. auch als Virtual Method Invocation bezeichnet (in C++) Info B VL 5: Klassenabhängigkeiten p.131
20 Statisches Method Lookup (1) Schneller, wenn kein dynamic method lookup zur Laufzeit benötigt wird. Wenn eine Methode mit dem final Modifikator deklariert ist, heißt das, dass die Methode nicht von einer Unterklassen-Methode überschrieben werden darf. Der Compiler weiss bereits, welche Version der Methode gemeint ist, und dynamisches Lookup ist damit unnötig. Info B VL 5: Klassenabhängigkeiten p.132
21 Statisches Method Lookup (2) Für bestimmte Methoden kann das Java-Laufzeitsystem dynamic method lookup vermeiden: Alle Methoden einer final deklarierten Klasse sind final: also ist bekannt, für welche Klasse der Aufruf erfolgt. Alle private Methoden können generell nur in der Klasse selbst aufgerufen werden: damit ist ebenfalls bekannnt, für welche Klasse der Aufruf erfolgt. private Methoden sind implizit final und können nicht überschrieben werden. static (Klassen)-Methoden werden generell nicht überschrieben (sondern überdeckt). Info B VL 5: Klassenabhängigkeiten p.133
22 Aufruf überschriebener Methoden (1) Aufruf überschriebener Methoden ist syntaktisch ähnlich zu Zugriff auf überdeckte Felder: super. methode () Aufruf einer überschriebenen Methode kann nicht mit Casting (((A)this).f()) realisiert werden! Modifizierte Form von dynamischem Method Lookup bei super: Gehe zur direkten Oberklasse derjenigen Klasse, innerhalb derer super aufgerufen wird. Wenn die Methode dort definiert ist, verwende sie, ansonsten gehe zur direkten Oberklasse dieser Klasse etc. super spricht die Methode an, die unmittelbar überschrieben wurde. Info B VL 5: Klassenabhängigkeiten p.134
23 Aufruf überschriebener Methoden (2) super bezieht sich immer auf die unmittelbare Oberklasse der Klasse, in der der Aufruf steht. Beispiel: super.f() in OverrideTest bezieht sich auf die Klasse Object! Überdeckte Klassen-Methoden können ebenfalls durch super angesprochen werden. (Hier erfolgt generell kein dynamic lookup.) class A { // Define a class named A int i = 1; // An instance field int f() { return i; } // An instance method static char g() { return A ; } // A class method } class B extends A { // Define a subclass of A int i; // Shadows field i in class A int f() { // Overrides instance method f in A i = super.i + 1; // It can retrieve A.i like this return super.f() + i; // It can invoke A.f() like this }} Info B VL 5: Klassenabhängigkeiten p.135
24 Overloading Nicht verwechseln mit overriding! Überladen (von Operatoren bzw. Methoden): verwenden des selben Namens mit verschiedenen Signaturen (Typen) auch ad hoc Polymorphismus Info B VL 5: Klassenabhängigkeiten p.136
25 Operator-Overloading Beispiel: monadisches und diadisches -; + für Integers, Floats, Strings Java erlaubt dem Benutzer kein Überladen von primitiven Operatoren, aber Überladen von Methoden (und Konstruktoren). Vorteil von Overloading: Bedeutung eines Symbols im Kontext spart die Einführung zusätzlicher Symbole. Beispiel: Definition von für komplexe Zahlen. Vergleiche natürliche Sprache (das vermisste Buch finden, sein Glück finden). Nachteil von Overloading: Es ist nicht mehr ohneweiteres nachvollziehbar, was ein Operator wirklich tut (unklare Semantik), wenn primitive Operatoren vom Benutzer überladen werden dürfen (Kritik an C++). Info B VL 5: Klassenabhängigkeiten p.137
26 Überladenes + Beispiel: a b Intuitiv, wenn a und b vom gleichen primitiven numerischen Typ sind: int int int, float float float. Verschiedene Optionen für char char: liefert den String aus den beiden Zeichen, liefert die Summe der Ordnungszahl der Zeichen,... Häufig sinnvoll: wenn verschiedene numerische Typen beteiligt sind, wird zunächst auf den größeren Typ ge-castet: int float float. Was tun bei char short? (in Java haben beide 16 Bit)? Eventuell Verlust der Kommutativität: Vorrang des ersten Arguments, also könnte char short einen anderen Ergebnistyp liefern als short char. Was ist die Intuition für Stack Vector? Info B VL 5: Klassenabhängigkeiten p.138
27 Operator-Overloading in Java Arithmetische Operatoren und Vergleichsoperatoren sind für numerische Typen definiert (alle primitiven Typen ausser boolean) Es ist zulässig, dass ein Operator Argumente verschiedenen Typs miteinander verknüpft. Dabei erfolgt ein implizites Casting zu dem größeren Typ, mindestens zu int (widening, siehe Tabelle). Rückgabetyp bei arithmetischen Operatoren: double wenn mindestens ein Argument double, float wenn mindestens ein Argument float, long wenn mindestens ein Argument long, int sonst (auch, wenn beide Argumente byte, short oder char sind). Dabei werden zuerst die impliziten Casts auf den Operanden durchgeführt und dann der Operator angewendet. Info B VL 5: Klassenabhängigkeiten p.139
28 + für String Der Operator + (und +=) ist zusätzlich für String-Objekte definiert. Wenn mindestens eines der Argumente String ist, wird das andere Argument zu String konvertiert. Klammern sind häufig notwendig: System.out.println("Total: " ); // Total: 34 nicht 7 (Klammern (3 + 4): erst Addition auf Zahlen) Für String Object wird Object in String umgewandelt, indem die tostring()-methode des Objekts angewendet wird. Achtung: Die für Object definierte tostring() Methode liefert die Referenz-Adresse des Objekts als String. Falls andere Information gewünscht wird, muss diese Methode überschrieben werden. Info B VL 5: Klassenabhängigkeiten p.140
29 Method-Overloading In Java musste Method-Overloading zugelassen werden, da es möglich sein sollte, mehr als einen Konstruktor für eine Klasse zu definieren. Überladene Methoden müssen sich eindeutig durch ihre Signatur unterscheiden: Anzahl, Reihenfolge und Typ der Argumente. Eine blosse Unterscheidung durch verschiedene Rückgabe-Typen ist unzulässig: void f() {}; int f() {}; Könnte nur klappen, wenn der Compiler eindeutig aus dem Kontext bestimmen kann, welche Methode gemeint ist, z.b. int x = f(); Auch bei Methoden mit unterschiedlichen Signaturen kann es Probleme geben, die gemeinte Methode zu identifizieren (Compiler-Fehler) Info B VL 5: Klassenabhängigkeiten p.141
30 Beispiel public class Overloading { public static String f(string s, Object o) { return s + o; } public static Object f(object o, String s) { return (Object) (o + s); } public static void main(string[] args) { System.out.println(f("Die Zahl ist ", (Object)"17")); System.out.println(f((Object)"17", " ist eine Zahl")); // System.out.println(f("Hello", "World")); // ambiguous!! } } Info B VL 5: Klassenabhängigkeiten p.142
31 Polymorphismus (1) In der objekt-orientierten Programmierung meint Polymorphismus, dass Variablen deklariert werden können, die zur Laufzeit auf Objekte verschiedener Klassen verweisen können. Vorteil: Eine Methode setcolor() kann für beliebige Shape-Objekte definiert werden. Egal, ob die Methode zur Laufzeit zu einem Circle- oder einem Rectangle-Objekt gehört, sie kann auf jeden Fall angewendet werden. Dadurch wird Duplizierung von Code vermieden! Keine Kenntnis nötig, welche Unterklassen von Shape konkret existieren. Info B VL 5: Klassenabhängigkeiten p.143
32 Shapes Shape + setcolor Shape s; s.setcolor(); Upcasting Circle + area + circumference + diameter Rectangle + area + circumference + issquare Triangle + area + circumference +... Info B VL 5: Klassenabhängigkeiten p.144
33 Polymorphismus (2) Wird eine Methode f() in der Oberklasse definiert, so kann sie in der Unterklasse überschrieben werden. Für ein Shape-Objekt, das ein Circle ist, wird dann seine spezifische Methode verwendet. Polymorphismus kann nur zusammen mit dynamic binding (auch late binding) realisiert werden. Info B VL 5: Klassenabhängigkeiten p.145
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
MehrEinstieg 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
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
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
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
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
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
MehrObjektorientierung (OO)
Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members
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
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrKlassen und Konstruktoren in Java
Klassen und Konstruktoren in Java class Circle { int r; Circle(int r) { this.r = r; // 1 Circle(Circle c) { this.r = c.r; // 2 Circle() { r = 1; // 3...... Circle a = new Circle(2); // Konstruktor 1 Circle
MehrVererbung, Polymorphismus
Vererbung, Polymorphismus INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Automobilbau Firma produziert Limousine Kunde möchte Kombi Wielösen? Möglichkeiten Neudesign
MehrMethoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
MehrArten von Klassen-Beziehungen
Arten von Klassen-Beziehungen Untertypbeziehung: Ersetzbarkeit Vererbung von Code aus Oberklasse irrelevant Vererbungsbeziehung: Klasse entsteht durch Abänderung anderer Klassen Ersetzbarkeit irrelevant
MehrInfo 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
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
MehrEinführung in C# Teil 3. Matthias Nübling
Einführung in C# Teil 3 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrJava Vererbung. Inhalt
Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter
MehrAlgorithmen 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
MehrVorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3
Vorausgesetzte Grundkenntnisse Einführung in C# Teil 3 Matthias Nübling Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrTücken der dynamischen Bindung
Kapitel 3 Tücken der dynamischen Bindung 3.1 this-pointer Im Methodenaufruf o.m(x) ist o Bezugsobjekt wird als zusätzlicher Parameter übergeben: m(o,x) kann im Rumpf von m als this (bzw self) angesprochen
MehrBeispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der
Vererbung Vererbung ist ein Konzept der objektorientierten Programmierung,, die es ermöglicht neue Klassen von bereits vorhandenen Klassen abzuleiten. In einer abgeleiteten Klasse (subclass) muss nur spezifiziert
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,
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrInstitut 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
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
MehrJAVA 05: Objektorientierte Konzepte
Lernkartenkurs JAVA 05: Objektorientierte Konzepte panitz Zusammenfassung Dieser Kurs beschäftigt sich mit Grundkonzepten der objektorientierten Programmierung. Was sind Klassen und Objekte? Wie sehen
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,
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
MehrPolymorphie. 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
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)
MehrProzeduren vs. Funktionen
Prozeduren vs. Funktionen Mit der Formalisierung wird auch der Unterschied zwischen Prozeduren und Funktionen noch einmal klar. Der Aufruf beider Varianten bewirkt zunächst das Gleiche: die Eingabevariablen
MehrPolymorphie. 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
MehrObjektorientierte Programmierung und Klassen
Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP
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,
MehrEinstieg in die Informatik mit Java
1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition
MehrMethoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)
MehrEinstieg in die Informatik mit Java
1 / 39 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 39 1 Überblick:
MehrEinstieg 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
MehrEinführung in das Programmieren Probeklausur Lösungen
Einführung in das Programmieren Probeklausur Lösungen Frederik Kanning 01.07.2013 Aufgabe 1 b/c) void definiert Methode ohne Rückgabewert return beendet aktuellen Methodenaufruf wenn Rückgabetyp nicht
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
Mehr4. 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
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
MehrSilke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode
Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrIT I: Heute. Nachbetrachtung Wissensüberprüfungen. Einführung Vererbung. Roboter in becker.robots. falls Zeit: Scheduling 8.11.
IT I: Heute Nachbetrachtung Wissensüberprüfungen Einführung Vererbung Roboter in becker.robots falls Zeit: Scheduling 8.11.2016 IT I - VO 5 1 Organisatorisches VO nächste Woche im Peter-Tunner-HS! Tutorium
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
Mehr6. Globalübung (zu Übungsblatt 8)
6. Globalübung (zu Übungsblatt 8) Inhalt: Klassenhierarchien Verdecken von Attributen Überschreiben von Methoden Codeanalyse Analyse von JAVA-Programmen Semestralklausur Klausurtermin: Mittwoch 11.01.2006
MehrVererbung 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
MehrEinfü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
MehrObjektorientierte 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
MehrPraxis der Programmierung
Template-Funktionen und -Klassen Einführung in Java Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn 1 Template-Funktionen 2 Minimumfunktion und offene Typen Aufruf
MehrThemen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen
Themen der Übung 1 Organisatorisches Methoden und Wrapperklassen 2 Methoden 3 Wrapper-Klassen CoMa-Übung IV TU Berlin 07.11.2012 Organisatorisches: Im Pool nur auf die Abgabeliste setzen, wenn ihr wirklich
MehrKapitel 4: Klassen und Unterklassen
Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 4: Klassen und Unterklassen Folie 54 : Unterklassen Die Bildung von Unterklassen und das Konzept der Vererbung sind
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
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
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
MehrInfo B VL 10: Innere Klassen
Info B VL 10: Innere Klassen Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 10: Innere Klassen p.221
MehrListe Programmieren Java Überblick
Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 4 Schnittstellen 5 Innere Klassen 6 Exceptions 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe 10 Threads
MehrIT I: Heute. Nachbetrachtung Wissensüberprüfungen. Einführung Vererbung. Roboter in becker.robots IT I - VO 5 1
IT I: Heute Nachbetrachtung Wissensüberprüfungen Einführung Vererbung Roboter in becker.robots 7.11.2017 IT I - VO 5 1 Organisatorisches Wissensüberprüfung diese Woche wieder am Rechner Wer die 5. Wissensüberprüfung
MehrGrundzüge der Programmierung. Wiederverwendung POLYMORPHIE
Grundzüge der Programmierung Wiederverwendung POLYMORPHIE Inhalt dieser Einheit Polymorphie: Upcasting Polymorphie Polymophie Theorie 2 Upcasting Def.. 1 Bsp. Shape Upcasting erlaubt die Verwendung eines
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
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
MehrIT I: Heute. Nachbetrachtung Wissensüberprüfung. Einführung Vererbung. Roboter in becker.robots. Filialenbelieferung 4.11.
IT I: Heute Nachbetrachtung Wissensüberprüfung Einführung Vererbung Roboter in becker.robots Filialenbelieferung 4.11.2014 IT I - VO 4 1 Organisatorisches Tutorium am Mi, 12.11. schon um 11 Uhr (bis 12:30).
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
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
MehrSilke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch
MehrAlgorithmen und Datenstrukturen 06
31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 14.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung 14.1.08 1 / 11 Übersicht 1
MehrAlgorithmen 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
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
MehrGliederung. 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
MehrEinführung in die Programmierung
Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf
MehrJava I Vorlesung Vererbung und Sichtbarkeit
Java I Vorlesung 4 Vererbung und Sichtbarkeit 17.5.2004 Vererbung Überladen, Überschreiben, Verstecken, Verschatten Zugriffskontrolle Statische Members Wiederholung: OOP Programme bestehen aus Klassen.
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.
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch
Mehr5.3 Auswertung von Ausdrücken
5.3 Auswertung von Ausdrücken Funktionen in Java bekommen Parameter/Argumente als Input, und liefern als Output den Wert eines vorbestimmten Typs. Zum Beispiel könnte man eine Funktion i n t min ( i n
MehrProgrammierung Nachklausurtutorium
Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel
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
MehrVererbung. Oberklassen und Unterklassen
Vererbung Oberklassen und Unterklassen Vererbung ist ein zentrale Bestandteil der Objektorientierung. Man beschreibt damit die Möglichkeit, Eigenschaften und Methoden vorhandener Klassen auf andere (neue)
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.
MehrObjektorientierte Programmierung
Stefan Brass: OOP (Java), 15. Überladene Methoden 1/22 Objektorientierte Programmierung Kapitel 15: Überladene Methoden Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/
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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Objektorientierung in C++ (3) Aspekte der Vererbung (1) Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 546 Zuweisung bei Vererbung Dr. Frank Seifert Vorlesung
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
Mehr1 Polymorphie (Vielgestaltigkeit)
1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen
MehrOOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
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
MehrIT I: Heute. Nachbetrachtung Wissensüberprüfungen. Einführung Vererbung. Roboter in becker.robots IT I - VO 5 1
IT I: Heute Nachbetrachtung Wissensüberprüfungen Einführung Vererbung Roboter in becker.robots 8.11.2018 IT I - VO 5 1 Organisatorisches Wissensüberprüfung diese Woche wieder am Rechner Wer die Wissensüberprüfung
MehrMapra: C++ Teil 6. Felix Gruber, Sven Groß. IGPM, RWTH Aachen. 13. Juni 2017
Mapra: C++ Teil 6 Felix Gruber, Sven Groß IGPM, RWTH Aachen 13. Juni 2017 Felix Gruber, Sven Groß (IGPM, RWTH Aachen) Mapra: C++ Teil 6 13. Juni 2017 1 / 22 Was bisher geschah Klassen I Attribute und Methoden
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
Mehr4. 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
MehrGrundlagen Polymorphismus Eigenschaften virtueller Klassen Mehrfachvererbung bei ROOT. Mehrfache Vererbung. Daniel Beneckenstein. 21.
Mehrfache Vererbung Daniel Beneckenstein 21. August 2006 Mehrfache Vererbung Ableitung einer Klasse von beliebig vielen Basisklassen: class A {... }; class B {... }; class C {... }; class D: public A,
MehrDurch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei
Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der
MehrProgrammierpraktikum 3D Computer Grafik
Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Einführung in C++ Teil II: Klassen, Objekte, Funktionen und Vererbung. Funktionen [Rückgabetyp] [Name] ([Parameter]) { } Wichtig: Funktionen
MehrPraxis der Programmierung
Klassenvariablen und -methoden, Vererbung Institut für Informatik und Computational Science Henning Bordihn 1 Klassenvariablen und -methoden 2 Klassenvariablen und -methoden werden mit dem Schlüsselwort
MehrDas 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
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
MehrVererbung Was versteht man unter dem Begriff Vererbung?
Was versteht man unter dem Begriff Vererbung? Elternkonstrukt - Datenelemente - Methoden o Deklaration o Definition Kindkonstrukt... Main... Elternkonstrukt b = new Kindkonstrukt() b.fn() Komponenten &
Mehr