Polymorphie. Überschreiben. Definition Eigene Methoden überschreiben Beispiele. Dr. Beatrice Amrhein
|
|
- Kasimir Kruse
- vor 5 Jahren
- Abrufe
Transkript
1 Polymorphie Überschreiben Definition Eigene Methoden überschreiben Beispiele Dr. Beatrice Amrhein
2 Definition 2
3 Vererbung Durch das Vererben von Klassen erhält die abgeleitete Klasse alle (für sie sichtbaren) Eigenschaften (Membervariablen und Methoden) der Basisklasse. Die Unterklasse kann zusätzliche Membervariablen und Methoden hinzufügen. Falls diese Methoden in der abgeleiteten Klasse anders heissen, oder eine andere Signatur haben, hat die abgeleitete Klasse ganz normale (oder ev. überladene) Methoden. 3
4 Definition: Überschreiben (von Methoden) Eine Methode kann in einer davon abgeleiteten Klasse überschrieben werden. Beim Überschreiben einer Methode müssen die beiden Methodensignaturen (Methodenname, Parameterliste, Rückgabewert) exakt(!) übereinstimmen. public class BasisKlasse public virtual int MachEtwas(int a) return a + a; public class AbgeleiteteKlasse:BasisKlasse public override int MachEtwas(int a) return a * a; 4
5 Definition: Überschreiben (von Methoden) Überschreiben der Methode Ausgabe public class BasisKlasse public virtual void Ausgabe(string s) Console.WriteLine(s); public class AbgeleiteteKlasse:BasisKlasse private int counter; public override void Ausgabe(string s) Console.WriteLine(s + ": " + counter); 5
6 Abstrakte Klassen und Methoden Eine Basisklasse kann die Implementation einer Methode für alle abgeleiteten Klassen erzwingen, ohne eine Basis-Methode zur Verfügung zu stellen. Dies geschieht durch das Schlüsselwort abstract. Die Basisklasse selber ist dann ebenfalls abstrakt, da nicht alle Methoden implementiert sind. Abstrakte Klassen können nicht erzeugt werden. public abstract class BasisKlasse public abstract void Info(string s); public virtual void Ausgabe(string s) Console.WriteLine(s); Muss in allen abgeleiteten Klassen überschrieben werden Kann in den abgeleiteten Klassen überschrieben werden 6
7 Abstrakte Klassen und Methoden Die abgeleiteten Klassen sind gezwungen, die Info-Methode zu überschreiben. Andernfalls sind sie ebenfalls abstract. public class Klasse1 : BasisKlasse DateTime date; public override void Info(string s) Console.WriteLine(s + date.year); public override void Ausgabe(string s) Console.WriteLine(s + ": " + counter); // muss implementiert werden // kann implementiert werden public class Klasse2 : BasisKlasse DateTime date; public override void Info(string s) Console.WriteLine(s + date.month + "." + date.year); // muss implementiert werden 7
8 Methoden überschreiben 8
9 Virtual und Override Die Methode der Basisklasse welche durch die Methode der abgeleiteten Klasse überschrieben werden soll, muss dies durch das Schlüsselwort virtual zulassen public virtual int MachEtwas(int a) return a + a; Die Methode der abgeleiteten Klasse, welche die Methode der Basisklasse überschriebt, muss die gleiche Signatur haben und das Überschreiben durch das Schlüsselwort override anzeigen public override int MachEtwas(int a) return a * a; 9
10 Nicht überschriebene Methoden Virtuelle Methoden müssen nicht zwingend überschrieben werden. public class BasisKlasse public virtual int MachEtwas(int a) return a + a; public virtual int MachEtwasAnderes(int a) return 3 * a; public class AbgeleiteteKlasse:BasisKlasse public override int MachEtwas(int a) return a * a; Die abgeleitete Klasse kann, muss aber die virtuellen Methoden der Basis-Klasse nicht zwingend überschreiben. Fehlende, nicht überschriebene Methoden werden vererbt. 10
11 Benutzen von nicht überschriebenen Methoden static void Main(string[] args) BasisKlasse b = new BasisKlasse(); Console.WriteLine("MachEtwas von BasisKlasse: 0", b.machetwas(4)); AbgeleiteteKlasse a = new AbgeleiteteKlasse(); Console.WriteLine("MachEtwas von AbgeleiteteKlasse: 0", a.machetwas(4)); Console.WriteLine("MachEtwasAnderes von AbgeleiteteKlasse: 0", a.machetwasanderes(4)); MachEtwasAnderes wurde in der abgeleiteten Klasse nicht überschrieben, also erbt AbgeleiteteKlasse die Methode von der BasisKlasse. 11
12 Leih-Objekte Bibliothek 12
13 Das Klassendiagramm 13
14 BasisKlasse LeihObjekt mit Info Methode public class LeihObjekt private int id; private String title; public static int counter = 0; protected LeihObjekt(String t) id = ++counter; title = t; Console.Write("LeihObjekt"); public virtual String Info() // virtual überschreiben ist möglich return "\n" + id + ". " + title; 14
15 Abgeleitete Klasse PrintMedium public class PrintMedium : LeihObjekt private String verlag; private int seiten; public PrintMedium(String t, String p) : base(t) verlag = p; Console.Write("--> PrintMedium"); public override String Info() return base.info() + " des Verlags " + this.verlag; // überschrieben von Klasse LeihObjekt public virtual String Info(String s) // überschreiben ist möglich return this.info() + s + this.seiten; // überladen, nicht überschrieben!!! 15
16 Von PrintMedium abgeleitete Klasse Buch public class Buch : PrintMedium private String autor; private Einband einband; public Buch(String t, String p, String a) : base(t, p) this.autor = a; Console.Write("--> Buch"); public Buch(String t, String p, String a, Einband e) : this(t, p, a) this.einband = e; public override String Info() return base.info() + ", Autor: " + autor; // überladener Konstruktor // überschrieben von Klasse PrintMedium public override String Info(String s) return this.info() + s + this.einband; // überschrieben von Klasse PrintMedium 16
17 Von LeihObjekt abgeleitete Klasse DVD public class DVD : LeihObjekt private String regisseur; private int laenge; public DVD(String t, String r) : base(t) regisseur = r; Console.Write("--> DVD"); public DVD(String t, String r, int l) : this(t, r) this.laenge = l; // überladener Konstruktor public override String Info() return base.info() + ", Regisseur: " + regisseur; // überschrieben von Klasse LeihObjekt public String Info(String s) return this.info() + s + this.laenge; // überladen, nicht überschrieben 17
18 Benutzen der überschriebenen Methoden PrintMedium z = new PrintMedium("Das-Neue-Heft", "Hefti"); Console.WriteLine(z.Info()); Buch b = new Buch("Das-neue-Buch", "Bucher", "Schreiber", Einband.Moleskin); Console.WriteLine(b.Info(", Einband: ")); DVD d1 = new DVD("Der-neue-Film", "Reger", 122); Console.WriteLine(d1.Info(", Länge: ")); DVD d2 = new DVD("Der-zweite-neue-Film", "Filmer"); Console.WriteLine(d2.Info()); Console.WriteLine("Anzahl Leihobjekte: 0", LeihObjekt.counter); 18
19 Geometrische Figuren 19
20 Klassen-Diagramm 20
21 Basisklasse für Geometrische Figuren public abstract class GeomFigur protected int[] seiten; protected string message; protected static int counter; protected GeomFigur(int[] s) counter++; seiten = s; message += "GeomFigur"; public virtual void ShowMessage() MainWindow.ShowMessage(GeomFigur.counter, "Default Message"); public abstract void Zeichne(MainWindow window); public abstract void Zeichne(MainWindow window, Brush b); 21
22 Klasse Polygon public class Polygon : GeomFigur public Polygon(int[] s) : base(s) base.message += " - Polygon"; public virtual void ShowMessage() MainWindow.ShowMessage(GeomFigur.counter, base.message); public override void Zeichne(MainWindow window, Brush b) window.drawpolygon(seiten, b); public override void Zeichne(MainWindow window) this.zeichne(window, Brushes.Yellow); // Default-Farbe gelb 22
23 Benutzen der Klasse Polygon int[] s1 = 5, 3, 2 ; Polygon p = new Polygon(s1); p.zeichne(window, Brushes.Red); p.showmessage(); 23
24 Die Klasse Dreieck public class Dreieck : Polygon public Dreieck(int[] s) : base(s) message += " - Dreieck"; 24
25 Benutzen der Klasse Dreieck int[] s1 = 5, 3, 2 ; Dreieck d = new Dreieck(s1); d.zeichne(window); d.showmessage(); 25
26 Die Klasse Rechteck public class Rechteck : GeomFigur protected Rechteck(int[] s) : base(s) base.message += " - Rechteck"; public override void Zeichne(MainWindow window, Brush b) window.drawrectancle(base.seiten[0], base.seiten[1], b); public override void Zeichne(MainWindow window) this.zeichne(window, Brushes.Green); // Default-Farbe grün 26
27 Benutzen der Klasse Rechteck int[] s1 = 5, 3, 2 ; Rechteck r = new Rechteck(s1); r.zeichne(window); r.zeichne(window, Brushes.Violet); r.showmessage(); 27
28 Die Klasse Ellipse public class Ellipse : GeomFigur protected Ellipse(int[] s) : base(s) base.message += " - Ellipse"; public override void Zeichne(MainWindow window, Brush s) window.drawellipse(base.seiten[0], base.seiten[1], b); public override void Zeichne(MainWindow window) this.zeichne(window, Brushes.Blue); // Default-Farbe blau 28
29 Benutzen der Klasse Ellipse int[] s1 = 5, 3, 2 ; Ellipse e = new Ellipse(s1); e.zeichne(window, Brushes.Chocolate); e.showmessage(); 29
30 Die Klasse Kreis public class Kreis : Ellipse protected Kreis(int[] s) base(s) base.message += " - Kreis"; base.seiten[1] = s[0]; public override void ShowMessage() MainWindow.ShowMessage(GeomFigur.counter, base.message); 30
31 Benutzen der Klasse Kreis int[] s1 = 5, 3, 2 ; Kreis k = new Kreis(s1); k.zeichne(window); k.showmessage(); 31
Interfaces. Definition von Interfaces Verwendung von Interfaces Vordefinierte Interfaces Beispiele. Dr. Beatrice Amrhein
Interfaces Definition von Interfaces Verwendung von Interfaces Vordefinierte Interfaces Beispiele Dr. Beatrice Amrhein Definition: Interface Ein Interface dient dazu, Schnittstellen klar zu definieren
MehrVererbung. Definition Felder Konstruktor Methoden Beispiel. Dr. Beatrice Amrhein
Vererbung Definition Felder Konstruktor Methoden Beispiel Dr. Beatrice Amrhein Definition 2 Definition: Vererbung Die Vererbung dient dazu, mit Hilfe von existierenden Klassen neue Klassen zu implementieren.
MehrDelegates. «Delegierter» Methoden Schablone Funktionszeiger. Dr. Beatrice Amrhein
Delegates «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen 2 Definition 3 Definition Ein Delegat
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
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
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung Teil 2 2 Übersicht der heutigen Inhalte Vererbung Abstrakte Klassen Erweitern von Klassen Überladen von Methoden Überschreiben von
MehrPolymorphie. Überladen. Definition Methodennamen überladen Konstruktoren überladen Operatoren überladen Beispiele. Dr.
Polymorphie Überladen Definition Methodennamen überladen Konstruktoren überladen Operatoren überladen Beispiele Dr. Beatrice Amrhein Definition 2 Definition: Überladen (von Namen) Überladen bedeutet, dass
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
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
MehrExceptions und Vererbung
Exceptions und Vererbung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter 2. Exceptions Eigene Exceptions Handling
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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 10: Mehr zur Vererbung und abstrakte Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Mehr zur Vererbung Methoden vererben und überschreiben
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
MehrSelbststudium OOP1 & DAT Programmieren 2 F1203 Felix Rohrer
Aufgaben Handout PRG2_OOP1 (Objektorientierte Programmierung) 1. Beantworten Sie die Kontrollfragen A und B, soweit diese im Unterricht noch nicht beantwortet wurden. Halten Sie allfällige Unklarheiten
MehrAbstrakte Basisklassen
Abstrakte Basisklassen Softwareentwicklung II (IB) Prof. Dr. Oliver Braun Letzte Änderung: 24.06.2018 15:20 Abstrakte Basisklassen 1/18 Idee (1/2) Gegensätze: Interfaces ausschließlich Methodenköpfe, keine
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
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
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
MehrAbstrakte Basisklassen
Softwareentwicklung II (IB) Abstrakte Basisklassen Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 24.06.2018 15:20 Inhaltsverzeichnis Idee.........................................
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 &
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
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
MehrEreignisse (Events) Asynchrones Versenden von Informationen Sender (Herausgeber) Empfänger (Abonnent) Dr. Beatrice Amrhein
Ereignisse (Events) Asynchrones Versenden von Informationen Sender (Herausgeber) Empfänger (Abonnent) Dr. Beatrice Amrhein Überblick Definition eines Ereignisses Sender und Empfänger Einfache Ereignisse
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
MehrÜberblick. Überblick. Abstrakte Klassen - rein virtuelle Funktionen Beispiele
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
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
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 &
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
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil III - Objektorientierte Programmierung 10. Vererbung und Polymorphie Vererbung und Polymorphie in C++ Seite 2 Klassen können von anderen Klassen
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,
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
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
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
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,
MehrTeil 2: OOP und JAVA (Vorlesung 11)
Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil
MehrInterfaces und Vererbung
Interfaces und Vererbung Einführung in Java Folie 1 von 31 12. Mai 2011 Ivo Kronenberg Inhalt Interfaces Statische und dynamische Typen Visiblitätsmodifier Vererbung Überschreiben von Methoden Konstruktoren
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,
MehrEinführung in die Programmierung
Einführung in die Programmierung by André Karge Übung - Polymorphie Teil 2 20. Dezember 2018 Einführung in die Programmierung WS18/19 André Karge 1/16 letzte Woche Methoden überladen Generics 20. Dezember
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
MehrJava für Bauingenieure
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 3 29.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klassen ableiten
MehrProgrammierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrInformatik II Übung, Woche 17
Giuseppe Accaputo 28. April, 2016 1. Vererbung 2. Vorbesprechung Übung 8 Plan für heute 3. Erweiterung des Vorlesungsverzeichnis (VVZ) (Live-Programmierung) Informatik II (D-BAUG) Giuseppe Accaputo 2 Vererbung
MehrDie abgeleiteten Klassen Kreis und Viereck erben die Elemente des Basisklasse und verfügen über zusätzliche Eigenschaften (Seitenlänge,
Kompaktkurs C++ Vererbung (inheritance) 1 Oft besitzen verschiedene Datentypen einen gemeinsamen Kern: Kreis und Viereck sind geometrische Figuren; sie haben eine Kantenzahl, eine Fläche, einen Umfang
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
MehrAbstrakte Klassen und Interfaces
Abstrakte Klassen und Interfaces Thomas Schwotzer 1 Einführung Wir haben uns mit Vererbung und Polymorphie beschäftigt. Klassen sind so in der Lage, ableitenden Klassen Zugriff auf Member und Methoden
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
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
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
MehrObjektorientierung. Objekte
Eine Einführung G. Futschek Objekte Objekte Fragen: Wie unterscheiden sich Objekte? Wie sind Objekte einander ähnlich? Was können Objekte? Wie stehen Objekte zueinander in Beziehung? Objekte Im täglichen
MehrVererbung und Polymorphie
page1 Vererbung und Polymorphie Florian Adamsky, B Sc florianadamsky@iemthmde http://florianadamskyit/ cbd So wareentwicklung im SS 2014 page2 Outline 1 Ein ührung 2 Vererbung Formen der Vererbung 3 Polymorphie
MehrC++ - Objektorientierte Programmierung Polymorphie
C++ - Objektorientierte Programmierung Polymorphie hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen C++ - Objektorientierte Programmierung 21.06.16 Seite 1 Polymorphie
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrGetName(), GetName(), GetGeschlecht() und AelterWerden().
11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung Teil 3 2 Übersicht der heutigen Inhalte Pakete Beispiel zur Verdeckung Polymorphie Modifikatoren bei Klassenelementen 3 Zusammenhang
MehrExkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm
Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen
Mehr4. Objektorientierte Programmierung mit C++
4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung der Sprachfamilie Erweiterungen der Sprache C: Ein- und Ausgabe, Referenzen, Speicherallokation und Freigabe Grundlagen des Typkonzepts
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
MehrStatische und Nichtstatische Methoden Properties/ Eigenschaften
Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische Methoden Definition und Merkmale von Properties Modifizierer Beispiele Nebeneffekte Dr. Beatrice Amrhein Statische / Nichtstatische
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
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
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
MehrProf. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen
Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
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
MehrVererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1
Vererbung 1 11.1 Motivation und Begriffsdefinitionen 11.2 Vorgehensweise und Implementierung 11.3 Arten von Vererbung 11.4 Konstruktoren 11.5 Abstrakte Klasse 11.6 Verschattung 11.7 Wurzelklasse Object
MehrAlgorithmen und Datenstrukturen 07
5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7
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
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 II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik
Programmieren II Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz 9.6 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Abstrakte Klassen: Motivation Grundidee abstrakter Klassen:
MehrRückblick: Benutzerdefinierte Datentypen Definition der Klasse Vektor als Container für 2-dimensionale Vektoren
Rückblick: Benutzerdefinierte Datentypen Definition der Klasse Vektor als Container für 2-dimensionale Vektoren class Vektor public: double k1, k2; // Deklaration der Klasse Vektor // Elementvariablen
MehrProgrammieren in C++ Vererbung
Programmieren in C++ Vererbung Inhalt Vererbung Konstruktoren und Destruktor von abgeleiteten Klassen Typkonvertierung von Zeigern Identifikation der Klasse eines Objekts Überladen von Methoden Verdecken
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
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,
MehrHumboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung. 6. Übungsblatt
Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung Prof. Redlich 6. Übungsblatt 21 (+4) Punkte Abgabe bis 31.01.2010 (08:00 Uhr) über GOYA Aufgabe
MehrKapitel 8 Vererbung. Korbinian Molitorisz. IPD Tichy Lehrstuhl für Programmiersysteme
Kapitel 8 Vererbung Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vererbung im Fall von Klassen
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
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
MehrAnwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie
Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,
MehrBegriffe 1 (Wiederholung)
Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II
Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober 2001 Stefan Holland Informatik II Hinweise: Klausur II Verwenden Sie für Ihre Lösungen ausschließlich
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrAusnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein
Ausnahmen Exceptions Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten Dr. Beatrice Amrhein Definition 2 Definition: Ausnahme (Exception) In C# werden Fehler, die zur Laufzeit im
MehrProgrammierparadigmen
Programmierparadigmen DEKLARATIV Funktional Logisch IMPERATIV Prozedural Objektorientiert Einsatz der Programmierparadigmen Systemkomplexität von der Komplexität der Algorithmen dominiert deklarativ oder
Mehr3. Konzepte der objektorientierten Programmierung
3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung
MehrThema heute: Vererbung und Klassenhierarchien. Abgeleitete Klassen. Vererbung von Daten und Funktionen. Virtuelle Funktionen
1 Thema heute: Vererbung und Klassenhierarchien Abgeleitete Klassen Vererbung von Daten und Funktionen Virtuelle Funktionen 2 Vererbung oft besitzen verschiedene Datentypen einen gemeinsamen Kern Beispiel:
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
MehrOOP und Angewandte Mathematik (Praktikum 1) Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
(Praktikum 1) Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Klassen in C++ Beispiele, mit Aufzeigen der Trennung von Spezifikation und Implementierung
MehrHSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2
HSR Rapperswil 2001 Markus Rigling Programmieren: Vererbung 1 Variante 2 Inhaltsverzeichnis: 1. Was ist Vererbung...3 2. Anwendung...3 3. Realisierung...3 4. Vorgehensweise zur Erstellung einer Kind-Klasse...3
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
MehrÜbung 09: Vererbung und Dynamische Bindung
Übung 09: Vererbung und Dynamische Bindung Abgabetermin: TT.MM.JJJJ Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) G4 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben
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.
MehrTeil 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
MehrMusterlösung Stand: 5. Februar 2009
Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)
Mehr