Java - Vererbung. Personen. Leibniz Universität IT Services Anja Aue
|
|
- Brigitte Falk
- vor 7 Jahren
- Abrufe
Transkript
1 Java - Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue
2 Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Eltern-Kind-Beziehung. Ableitung einer Klasse von einer anderen. Abbildung von Klassen in einem hierarchischen Modell. Implementierung von ist ein -Beziehung. In Java ist eine Mehrfachvererbung nicht möglich. Java - Einführung Seite 2
3 Basisklasse Oberklasse, Elternklasse, Superklasse. Allgemeine Beschreibung einer Gruppe von Objekten. Weitergabe von Attributen und Methoden. Die Klasse Object ist Basisklasse für alle Klassen in Java. Java - Einführung Seite 3
4 Basisklasse Person Person Anrede Vorname Nachname Ändere Nachnamen Java - Einführung Seite 4
5 Subklasse Unterklasse, Kindklasse. Abgeleitete Klasse. Empfang von Attributen und Methoden aus der Basisklasse. Eltern-Kind-Beziehung. Erweiterung oder Spezialisierung der Basisklasse. Java - Einführung Seite 5
6 Subklassen Object Person Anrede Vorname Nachname Ändere Nachnamen Mitarbeiter Mitarbeiter-ID Gehalt Geburtsdatum Angestellt am Ändere Gehalt Kunde Kunde-ID Erstkunde seit Bevorzugte Zahlungsart Bonität Ändere Bonität Ändere Zahlungsart Java - Einführung Seite 6
7 Abbildung als hierarchisches Modell Person Anrede Vorname Nachname Ändere Nachnamen Generalisierung Mitarbeiter Mitarbeiter-ID Gehalt Geburtsdatum Angestellt am Ändere Gehalt Kunde Kunde-ID Erstkunde seit Bevorzugte Zahlungsart Bonität Ändere Bonität Ändere Zahlungsart Spezialisierung Java - Einführung Seite 7
8 Hinweise Beschreibung eines Stammbaums. Von oben nach unten in der Hierarchie: Um so tiefer man kommt, um so spezieller werden die Attribute der Klasse. Die Beschreibung eines Objekts wird detaillierter. Von unten nach oben in der Hierarchie: Um so höher man kommt, um so allgemeiner werden die Attribute der Klasse. Die Gemeinsamkeit einer Gruppe von Objekten wird allgemein beschrieben. Java - Einführung Seite 8
9 Java-Projekt in NetBeans anlegen File New Project. Java - Einführung Seite 9
10 1. Schritt: Auswahl einer Projektkategorie Categories Java. Projects Java Application. Das Grundgerüst für eine Java-Anwendung wird automatisiert erstellt. Java - Einführung Seite 10
11 2. Schritt: Name und Speicherort des Projekts Java - Einführung Seite 11
12 Datei Klasse dem Projekt hinzufügen File New File. Categories Java. File Types Java Class. Java - Einführung Seite 12
13 Festlegung des Klassennamens Eingabe eines Class Name. Der Klassenname ist gleichzeitig der Dateiname. Klassennamen beginnen immer mit einem Großbuchstaben. Java - Einführung Seite 13
14 Basisklasse public class Person { private static int anzahlperson; protected String vorname; protected String nachname; protected String anrede; Attribute / Eigenschaften public Person(String anrede, String vorname, String nachname){ this.anrede = anrede; this.vorname = vorname; this.nachname = nachname; } Konstruktor } public void aenderenachname(string nachname){ } this.nachname = nachname; Methoden Java - Einführung Seite 14
15 Grundgerüst einer Basisklasse public class Person { } Jede Klasse hat einen Klassenkopf zugriffsmodifikator class name. In dem Klassenrumpf werden Attribute, Konstruktoren und Methoden definiert. Der Klassenrumpf wird durch die geschweiften Klammern begrenzt. Java - Einführung Seite 15
16 Subklasse public class Mitarbeiter extends Person{ private double gehalt; private String geburtsdatum; private Calendar beginn; Attribute / Eigenschaften public Mitarbeiter(String anrede, String vorname, String nachname, Calendar beginn){ super(anrede, vorname, nachname); this.beginn = new GregorianCalendar(); this.beginn.settime( beginn.gettime()); } Konstruktor } public void setzegehalt(double wert){ } this.gehalt = wert; Methoden Java - Einführung Seite 16
17 Grundgerüst einer Subklasse public class Mitarbeiter extends Person { } Jede Subklasse hat einen Klassenkopf zugriffsmodifikator class name extends basisklasse. In dem Klassenrumpf werden Attribute, Konstruktoren und Methoden definiert. Der Klassenrumpf wird durch die geschweiften Klammern begrenzt. Java - Einführung Seite 17
18 Private Klassen private class. Standardzugriff, wenn keine Angabe gemacht wurde. Die Klasse kann innerhalb eines Paketes genutzt werden. Die Klasse ist in dem, in der Anweisung package definierten Paket bekannt. Java - Einführung Seite 18
19 Öffentliche Klassen public class. Auf die Klasse kann von anderen Paketen zugriffen werden. Die Klasse und die Datei haben den gleichen Namen. Pro Datei sollte eine Klasse definiert werden. Java - Einführung Seite 19
20 Finale Klassen final [public private] class. Keine Ableitung für eine andere Klasse möglich. Vererbung von Attributen und Methoden ist nicht erlaubt. Java - Einführung Seite 20
21 Klassenname Beginn mit einem Großbuchstaben. Zum Beispiel Person. Nutzung der Kamel-Notation. Zum Beispiel PrivatKunde. Jedes Wort beginnt mit einem Großbuchstaben. Der Name spiegelt die Bezeichnung eines Dinges in der realen Welt wieder. Der Name ist eindeutig innerhalb eines Pakets. Java - Einführung Seite 21
22 Attribute einer Klasse public class Person { static int anzahlperson; String vorname; String nachname; String anrede; public class Person { private static int anzahlperson; protected String vorname; protected String nachname; protected String anrede; Java - Einführung Seite 22
23 Attribute (Instanzvariablen, Felder) zugriffsmodifikator datentyp variable. Beschreibung eines Objekts. Datenstruktur eines Objektes. Variablen in einer Klasse. Der Wert eines Objektes unterscheidet sich mindestens in einem Attributwert von allen anderen Objekten einer Gruppe Java - Einführung Seite 23
24 Instanzvariablen ohne Zugriffsspezifikation String vorname; datentyp variable. Die Variable kann nur innerhalb der dazugehörigen Klassen verändert werden. Subklassen von dieser Klasse können nicht auf diese Attribute zugreifen. Alle Klassen des gleichen Pakets können mit Hilfe eines Objektes auf die Attribute zugreifen. Java - Einführung Seite 24
25 Öffentliche Instanzvariablen public String vorname; public datentyp variable. Standardmäßig sind alle Variablen öffentlich. Ein Zugriff von außen ist möglich. Die Variable kann von der dazugehörigen Klasse verändert werden. Die Variable kann von allen anderen Paketen genutzt werden. Java - Einführung Seite 25
26 Private Instanzvariablen private String vorname; private variable. Die Variable kann nur innerhalb der dazugehörigen Klassen verändert werden. Subklassen von dieser Klasse können nicht auf diese Attribute zugreifen. Die Variable ist vor Veränderungen von außen geschützt. Java - Einführung Seite 26
27 Geschützte Instanzvariablen protected String vorname; protected variable. Die Variable kann nur innerhalb der dazugehörigen Klassen verändert werden. Die Subklassen der Klasse können auf das Attribut zugreifen. Innerhalb des Paketes kann der Attributwert über ein Objekt verändert werden. Die Variable ist vor Veränderungen von anderen Paketen geschützt. Java - Einführung Seite 27
28 Zusammenfassung Definition in der Basisklasse der Basisklasse der Subklasse Keine Angaben Im gleichen Paket private Zugriff aus dem gleichen Paket Einem anderen Paket public protected Java - Einführung Seite 28
29 Hinweis zu Namen von Instanzvariablen Es sollten nur die Buchstaben A... Z und a.. z genutzt werden. Alle Ziffern von 0 bis 9 können genutzt werden. Aber nicht am Anfang eines benutzerdefinierten Namens. Der Unterstrich kann mehrere Wörter in einem Namen verbinden. Schlüsselwörter werden als benutzerdefinierte Namen nicht genutzt. (siehe java/nutsandbolts/_keywords.html). Kamel-Notation (zum Beispiel kreisradius). Das erste Wort beginnt mit einem Kleinbuchstaben. Alle nachfolgenden Wörter beginnen mit einem Großbuchstaben. Java - Einführung Seite 29
30 Methoden einer Klasse public void setzegehalt(double wert){ this.gehalt = wert; } private String lesedatum(calendar datum){ DateFormat dfbeginn = DateFormat.getDateInstance(DateFormat.SHORT); return dfbeginn.format(datum.gettime()); } protected void setanzahlpersonen() { anzahlperson++; } Java - Einführung Seite 30
31 Öffentliche Methoden public void setzegehalt(double wert) { } public datentyp methodenname(par01,, parn). Objekte der Klasse können die Methode aufgerufen. Öffentliche Methoden stehen in der Subklasse zur Verfügung. Java - Einführung Seite 31
32 Private Methode private void setzegehalt(double wert) { } private datentyp methodenname(par01,, parn). Die Methode kann innerhalb einer Klasse genutzt werden. Objekte der Klasse können diese Methoden nicht aufrufen. Java - Einführung Seite 32
33 Geschützte Methode protected void setzegehalt(double wert) { } protected datentyp methodenname(par01,, parn).. Objekte der Basisklasse und der Subklasse können die Methode aufrufen. Objekte anderer Klassen können die Methode nicht aufrufen. Java - Einführung Seite 33
34 Methoden aus der Basisklasse überschreiben Basisklasse public String lesepersonname(){ String ausgabe; ausgabe = this.anrede + this.vorname + this.nachname; ausgabe = ausgabe.trim(); return (ausgabe); } Subklasse } public String lesepersonname(){ String ausgabe; ausgabe = this.leseanrede() + this.titel; + this.lesevorname(); ausgabe = ausgabe + " " + this.lesenachname(); return (ausgabe); Java - Einführung Seite 34
35 Regeln beim Überschreiben der Methode Der Methodenname ist in der Basisklasse und in der Subklasse gleich. Die Parameterliste beider Methoden ist gleich. In diesem Beispiel sind beide leer. Der Methodenrumpf in der Subklasse unterscheidet sich von dem Methodenrumpf in der Basisklasse. Der Methodenrumpf wird um die Spezifika der Subklasse erweitert. Java - Einführung Seite 35
36 Aufruf der Methode in der Basisklasse Subklasse Basisklasse public String lesepersonname(){ String ausgabe; ausgabe = this.anrede + this.vorname + this.nachname; ausgabe = ausgabe.trim(); return (ausgabe); } public String lesepersonname(){ String ausgabe; ausgabe = super.lesepersonname(); ausgabe = ausgabe + "\neintrittsdatum: " + return ausgabe; } Java - Einführung Seite 36
37 super Platzhalter für die Basisklasse in der Subklasse. Referenz auf die Basisklasse einer Subklasse. Mit Hilfe des Schlüsselwortes können verdeckte Methoden aus der Basisklasse aufgerufen werden. Java - Einführung Seite 37
38 Konstrukturen Methoden zur Erzeugung von Instanzen. Übergabe von Startwerte für die Attribute. Der Name von Konstruktoren ist immer gleich der Klasse. Automatischer Aufruf durch das Schlüsselwort new(). Java - Einführung Seite 38
39 Parameterloser Konstruktor public Person() { this.anrede = ""; this.vorname = ""; this.nachname = ""; } Die Parameterliste ist leer. Es werden Standardwerte für die Instanzvariablen gesetzt. Java - Einführung Seite 39
40 Standardkonstruktor Für jede Klasse wird automatisiert ein parameterloser Konstruktor angelegt. Der Standard-Konstruktor setzt für Dezimal- und Ganzzahlen einen Wert von 0, für boolsche Variablen false, Zeichenvariablen auf '\u0000' und Referenzen auf Null. Java - Einführung Seite 40
41 Aufruf des parameterlosen Konstruktor Person objperson03 = new Person(); Person objperson03; objperson03 = new Person(); Mit Hilfe des Schlüsselwortes new Objekt() wird der parameterlose Konstruktor aufgerufen. Die Attribute des Objektes werden mit den Standardwerten belegt. Java - Einführung Seite 41
42 Übergabe von Parametern public Person(String anrede, String vorname, String nachname){ this.anrede = anrede; this.vorname = vorname; this.nachname = nachname; this.setanzahlpersonen(); } In der Parameterliste werden die verschiedenen Parameter aufgelistet. Die Werte in den Parametern werden jeweils einer Instanzvariablen im Konstruktor zugewiesen. Java - Einführung Seite 42
43 Überschreiben des parameterlosen Konstruktors Die verschiedenen Konstruktoren unterscheiden sich in der Anzahl der Argumente. Die verschiedenen Konstruktoren unterscheiden sich bei gleicher Anzahl in den Datentypen der Parameter. Es können beliebig viele Konstruktoren definiert werden. Java - Einführung Seite 43
44 Aufruf des Konstruktor Person objperson01 = new Person("Frau", "Else", "Müller"); Mit Hilfe des Schlüsselwortes new Objekt(arg01,, argn) wird der passende Konstruktor aufgerufen. Der Konstruktor wird anhand der Anzahl der Argumente und deren Datentyp dem Aufruf zugewiesen. Java - Einführung Seite 44
45 Konstruktoren in Subklassen public Mitarbeiter(String anrede, String vorname, String nachname, Calendar beginn) { super(anrede, vorname, nachname); this.beginn = new GregorianCalendar(); this.beginn.settime( beginn.gettime()); } Java - Einführung Seite 45
46 Erläuterung Konstruktoren aus einer Basisklasse werden nicht an eine Subklasse vererbt. In dem Konstruktor der Subklasse wird zuerst ein Basisklassenkonstruktor aufgerufen. Anschließend werden den Instanzvariablen der Subklasse Werten zugewiesen. Java - Einführung Seite 46
47 Aufruf des Basisklassenkonstruktors super(anrede, vorname, nachname); Mit Hilfe des Schlüsselwortes super(arg01,, argn) wird der passende Konstruktor in der Basisklasse aufgerufen. Der Konstruktor wird anhand der Anzahl der Argumente und deren Datentyp dem Aufruf zugewiesen. Java - Einführung Seite 47
48 Aufruf von Subklassenkonstruktoren in der Klasse this(anrede, vorname, nachname, beginn, 0); Mit Hilfe des Schlüsselwortes this(arg01,, argn) wird der passende Konstruktor in einer Subklasse von dieser selber aufgerufen. Der Konstruktor wird anhand der Anzahl der Argumente und deren Datentyp dem Aufruf zugewiesen. Java - Einführung Seite 48
49 Beispiel public Mitarbeiter(String anrede, String vorname, String nachname, Calendar beginn, double gehalt){ super(anrede, vorname, nachname); this.beginn = new GregorianCalendar(); this.beginn.settime( beginn.gettime()); this.gehalt = gehalt; } public Mitarbeiter(String anrede, String vorname, String nachname, Calendar beginn) { this(anrede, vorname, nachname, beginn, 0); } Java - Einführung Seite 49
C++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
MehrJava - Klassen und Objekte
Java - Klassen und Objekte Der Würfel hat 12 Kanten. Der Würfel ist grün eingefärbt. Die Kanten sind in schwarz gezeichnet. Der Würfel kann gedreht werden. Die Kantenfarbe und die Seitenfarbe kann verändert
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
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
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
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
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
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, 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
MehrProgrammierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.
Programmierkurs Java Vererbung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Ähnlichkeiten zwischen Klassen? Beispiel: Klassen Auto
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
MehrII.4.1 Unterklassen und Vererbung - 1 -
n 1. Grundelemente der Programmierung n 2. Objekte, Klassen und Methoden n 3. Rekursion und dynamische Datenstrukturen n 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrII.4.1 Unterklassen und Vererbung - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und Vererbung
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
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.
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 Einführung in die objektorientierte Programmierung Teil 2 2 Übersicht der heutigen Inhalte Vererbung Abstrakte Klassen Erweitern von Klassen Überladen von Methoden Überschreiben von
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
MehrII.4.1 Unterklassen und Vererbung - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und Vererbung
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
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
MehrKlassen als Datenstrukturen
Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung
MehrII.4.1 Unterklassen und Vererbung - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und Vererbung
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
MehrEinstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von
Mehr7. Übung Informatik II - Objektorientierte Programmierung
7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber
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
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, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
MehrJava: Vererbung. Teil 1: Grundlagen, UML. www.informatikzentrale.de
Java: Vererbung Teil 1: Grundlagen, UML Hierarchie Reptilien Tiere Säugetiere Alle Exemplare einer Klasse verfügen über identische Eigenschaften und nachfolgende Klassen stellen eine Spezialisierung dar.
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
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
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
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
Mehr2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article
2.13 Vererbung Klassen modellieren Objekte der realen Welt. Diese sind oft hierarchisch gegliedert. Beispiel: Ein Verlag bietet Bücher und CDs an. Beide Medien sind Artikel des Verlages. Book author: String
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
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
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
MehrObjektorientierte Programmierung III
Objektorientierte Programmierung III OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
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
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:
MehrJava - Überladen von Methoden und Konstruktoren
Java - Überladen von Methoden und Konstruktoren 2 + 3 Addition 1 + 2 + 3 + 4+ 5 +... 4.2 + 3.3 4.2 + 3 + 5 Leibniz Universität IT Services Anja Aue Überladen von Methoden und Konstruktoren Innerhalb einer
MehrSWE1 / Übung 9 (11.01.2012)
SWE1 / Übung 9 (11.01.2012) Vererbung Zugriffskontrolle Motivation für Vererbung (1) Objekte in der realen Welt kommen oft in ähnlichen Varianten (Attribute, Verhalten) vor Gliederung durch hierarchische
MehrKlassen mit Instanzmethoden
Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 3.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 3.12.07
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
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
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
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
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
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
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
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
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
MehrC# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel Alina Stürck WS2016/17 11. Oktober 2016 Objektorientierte Programmierung OOP 1 Was ist das? 2 Wie geht das? 3 Warum
MehrVererbung. Martin Wirsing. Ziele. Vererbung
2 Ziele Martin Wirsing en Begriff der einfachen verstehen und Redefinition von Oberklassenmethoden verstehen spolymorphie verstehen ie Klasse Object kennenlernen in Zusammenarbeit mit Michael Barth, Philipp
MehrC++ - Objektorientierte Programmierung Klassen und Objekte
C++ - Objektorientierte Programmierung Klassen und Objekte hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue Klasse Warteschlange
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
MehrC++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 11: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
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
MehrEinstieg in die Informatik mit Java
1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen
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
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).
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
MehrVererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus
Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur
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
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
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
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
MehrProf. W. Henrich Seite 1
Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse
MehrEinführung in die Programmierung I. 11. Vererbung. Stefan Zimmer
Einführung in die Programmierung I 11. Vererbung Stefan Zimmer 21.1.2008 Programmcode wiederverwenden Wenn wir einige Klassen geschrieben haben, werden wir dabei Teile davon öfters hingeschrieben haben
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
MehrVererbung. Florian Adamsky, B. Sc. (PhD cand.) Softwareentwicklung im WS 2014/15.
1/23 Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/23 Outline 1 2 Formen der C++ Syntax 3/23 Inhaltsverzeichnis 1 2 Formen
MehrFragen zur OOP in Java
- 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...
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
MehrJava, OO und UML Fortsetzung
Java, OO und UML Fortsetzung Das Objektorientierte Paradigma OO bildet keine geschlossene theoretisch abgegrenzte Basis (wie z.b. das Relationsmodell relationaler Datenbanken) OO ist eine Sammlung und
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
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Objektorientierung Was ist Objektorientierung Es einige Grundprinzipien, die (fast) allen Definitionen des Begriffs Objektorientierung
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,
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
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
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Objektorientierte Programmierung Ronja Düffel WS2018/19 09. Oktober 2018 Objektorientierte Programmierung Überblick 1 Was ist das? 2 Wie geht das? 3 Warum gibt es das?
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
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
MehrStatische Methoden, Vererbung, Benutzereingabe
Statische Methoden, Vererbung, Benutzereingabe Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/
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
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
Mehr5 Vererbung. Subklassen, Superklassen, Pakete Zugriffsrechte
5 Vererbung Subklassen, Superklassen, Pakete Zugriffsrechte Wiederverwendung von Code Konventionelle Methode: Wähle einen Quelltext, der ein ähnliches Problem bearbeitet und passe diesen Text auf das neue
MehrErste Java-Programme (Java Wiederholung & Vererbung)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Java Wiederholung & ) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
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
Mehr