Praktische Softwaretechnologie Vorlesung 3
|
|
- Hannelore Meyer
- vor 7 Jahren
- Abrufe
Transkript
1 Praktische Softwaretechnologie Vorlesung 3 Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT Oktober 2006 p.1/26
2 Klassendefinition class Point { // Felder // Methoden PSWT Oktober 2006 p.2/26
3 Klassendefinition public abstract class Point extends SuperClass { // Felder // Methoden PSWT Oktober 2006 p.2/26
4 Klassendefinition class Point { /** The x-coordinate */ double x; /** The y-coordinate */ double y; // Methoden PSWT Oktober 2006 p.2/26
5 Klassendefinition class Point { /** The x-coordinate */ public double x; /** The y-coordinate */ public double y; // Methoden PSWT Oktober 2006 p.2/26
6 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; // Methoden PSWT Oktober 2006 p.2/26
7 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; /** Return the point s x-coordinate */ public double getx() { return x; PSWT Oktober 2006 p.2/26
8 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; /** Return the point s x-coordinate */ public double getx() { return x; /** Set the point s x-coordinate */ public void setx(double newx) { x = newx; PSWT Oktober 2006 p.2/26
9 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; /** Test whether other point is equal to this */ public boolean eqpoint(point other) { return (x == other.x) && (y == other.y); PSWT Oktober 2006 p.2/26
10 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; /** Test whether other point is equal to this */ public boolean eqpoint(point other) { return (this.x == other.x) && (this.y == other.y); PSWT Oktober 2006 p.2/26
11 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; /** Test whether other point is equal to this */ public boolean eqpoint(point other) { return (getx() == other.getx()) && (gety() == other.gety()); PSWT Oktober 2006 p.2/26
12 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; /** Test whether other point is equal to this */ public boolean eqpoint(point other) { return (this.getx() == other.getx()) && (this.gety() == other.gety()); PSWT Oktober 2006 p.2/26
13 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; /** return a String representation of this point */ public String tostring() { return "(" + x + "," + y + ")"; PSWT Oktober 2006 p.2/26
14 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; /** return a String representation of this point */ public String tostring() { return "(" + x + "," + y + ")"; Point p = String s = "The point " + p; System.out.println(p); PSWT Oktober 2006 p.2/26
15 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; /** Construct a new point with given coordinates */ public Point(double x, double y) { this.x = x; this.y = y; PSWT Oktober 2006 p.2/26
16 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; /** Construct a new point with given coordinates */ public Point(double x, double y) { this.x = x; this.y = y; Point p = new Point(10.0, 20.0); PSWT Oktober 2006 p.2/26
17 Klassendefinition class Point { /** The x-coordinate */ private double x; /** The y-coordinate */ private double y; /** Construct a new point located at the origin */ public Point() { this(0.0, 0.0); Point p = new Point(); PSWT Oktober 2006 p.2/26
18 Benutzung class UsePoint { public static void comparepoints(point p1, Point p2) { System.out.print("Points " + p1 + " and " + p2 + " are "); if (p1.eqpoint(p2)) { System.out.println("equal."); else { System.out.println("unequal."); public static void main(string[] args) { Point p1 = new Point(); Point p2 = new Point(1.0,2.0); comparepoints(p1,p2); p1.setx(1.0); p1.sety(2.0); comparepoints(p1,p2); PSWT Oktober 2006 p.3/26
19 Unterklassen class WeightedPoint extends Point { private double weight; PSWT Oktober 2006 p.4/26
20 Unterklassen class WeightedPoint extends Point { private double weight; public WeightedPoint(double x, double y, double w) { super(x,y); weight = w; PSWT Oktober 2006 p.4/26
21 Unterklassen class WeightedPoint extends Point { private double weight; public WeightedPoint(double x, double y, double w) { super(x,y); weight = w; public WeightedPoint(double x, double y) { this(x, y, 1.0); PSWT Oktober 2006 p.4/26
22 Unterklassen class WeightedPoint extends Point { private double weight; public WeightedPoint(double x, double y, double w) { super(x,y); weight = w; public WeightedPoint(double x, double y) { this(x, y, 1.0); public WeightedPoint() { weight = 1.0; PSWT Oktober 2006 p.4/26
23 Unterklassen class WeightedPoint extends Point { private double weight; public double getweight() { return weight; public void setweight(double weight) { this.weight = weight; PSWT Oktober 2006 p.4/26
24 Unterklassen class WeightedPoint extends Point { private double weight; public boolean eqweightedpoint(weightedpoint other) { return eqpoint(other) && (this.weight == other.weight); PSWT Oktober 2006 p.4/26
25 Unterklassen class WeightedPoint extends Point { private double weight; public boolean eqweightedpoint(weightedpoint other) { return eqpoint(other) && (this.weight == other.weight); public String tostring() { return super.tostring() + "*" + weight; Überschreiben (overloading) der Methode tostring() PSWT Oktober 2006 p.4/26
26 Statischer und Dynamischer Typ statischer Typ von Ausdrücken: wird vom Compiler ermittelt und überprüft dynamischer Typ von Objekten/Referenzen: ergibt sich zur Laufzeit Ausdruck hat statischen Typ A wird ausgewertet zu ist Untertyp von Objektreferenz hat dynamischen Typ B PSWT Oktober 2006 p.5/26
27 Implementierung Methodentabelle fuer Point p1: getx x=1.0 y=2.0 setx tostring getx() aus Point setx(double) aus Point andere Methoden aus Point Methodentabelle fuer WeightedPoint tostring() aus Point wp1: getx x=1.0 y=2.0 w=1.0 setx tostring setweight tostring() aus WeightedPoint setweight(double) aus WeightedPoint PSWT Oktober 2006 p.6/26
28 Implementierung 2 Zugriff auf Felder: Java: p1.x = 1; C: p1[1] = 1; Aufruf von Methoden: Java: p1.tostring(); C: p1[0][6](p1); Java: wp1.setweight(2.0); C: wp1[0][7](wp1,2.0); Java: super.tostring(); C:??? PSWT Oktober 2006 p.7/26
29 Überladen von Methoden (overloading) Überschreiben (overriding): Methode einer Unterklasse überschreibt eine Methode einer Oberklasse. Tatsächliche Implementierung wird zur Laufzeit bestimmt abhängig vom dynamischen Typ des Empfängers. Überladen (overloading): Mehrere Methoden (vielleicht einer Klasse) haben gleichen Namen Welche gemeint ist wird vom Compiler bestimmt abhängig vom statischen Typ der Argumente. PSWT Oktober 2006 p.8/26
30 Überladen von Methoden 2 Beispiel: public class PrintStream { println(boolean b) { println(char c) { println(int i) { println(object o) { PSWT Oktober 2006 p.9/26
31 Überladen von Methoden 2 Beispiel: public class PrintStream { println(boolean b) { println(char c) { println(int i) { println(object o) { public class GermanPrintStream extends PrintStream { println(boolean b) { PSWT Oktober 2006 p.9/26
32 Statische Felder Felder mit Kennzeichnung static von allen Objekten einer Klasse geteilt. class A { public static int x; Zugriff: A a = ; a.x = a.x + 1; oder (besser) A.x = A.x + 1; PSWT Oktober 2006 p.10/26
33 Statische Methoden Methoden mit Kennzeichnung static können nur auf statische Felder zugreifen können ohne Objekt der Klasse aufgerufen werden können this nicht verwenden class A { public static void initclass(); Zugriff: A a = ; a.initclass(); A.initClass(); // besser! PSWT Oktober 2006 p.11/26
34 Packages Jede Java Klasse ist Teil einer Package. Datei HelloWorld.java im aktuellen Verzeichnis: class HelloWorld { default package Benutzung: new HelloWorld() PSWT Oktober 2006 p.12/26
35 Packages Jede Java Klasse ist Teil einer Package. Datei PrintStream.java im Verzeichnis java\io: package java.io; class PrintStream { package java.io Benutzung: new java.io.printstream() PSWT Oktober 2006 p.12/26
36 Packages 2 Verwendung von kurzem PrintStream statt java.io.printstream möglich: in anderen Klassen der java.io Package. Nach Import import java.io.printstream; am Anfang der Klasse, zwischen package und class Nach Import import java.io.*; Import für java.lang package automatisch. PSWT Oktober 2006 p.13/26
37 Package Namen Merke: Hierarchie (java.io java) hat keine Bedeutung Namen üblicherweise nach Internet domains, z.b.: Bundesministerium für Finanzen: Package Namen: at.gv.bmf. Aber: Standard libraries java.lang, java.io, java.util,... Standarderweiterungen: javax.print, javax.crypto,... PSWT Oktober 2006 p.14/26
38 Sichtbarkeiten Für Felder und Methoden: 4 unterschiedliche Sichtbarkeiten: modifier private (default) sichtbar nur in der selben Klasse in allen Klassen der selben Package protected in der selben Package und in Unterklassen public von jeder Klasse aus Klassen nur public oder default Tatsächliche Regeln etwas komplizierter, bei Bedarf nachlesen. PSWT Oktober 2006 p.15/26
39 Richtlinien für Sichtbarkeiten Package: überschaubare Einheit von zusammenspielenden Klassen. Felder so gut wie immer private Klassen public wenn sie Teil des Leistungsangebots der Package sind. Methoden public wenn sie Teil der dokumentierten öffentlichen Schnittstelle der Klasse sind. Methoden private wenn sie Implementierungsdetail sind. Methoden package-private für das Zusammenspiel von teilweise package-private Klassen. protected nur bei Klassen die zum Vererben entworfen sind. PSWT Oktober 2006 p.16/26
40 Aufgabe 5 Vertiefen und Ergänzen des Stoffs durch Lesen im Java Tutorial: Classes and Objects Insbesondere den Teil über Nested Classes enum types kommen noch in der Vorlesung annotations vorerst unwichtig PSWT Oktober 2006 p.17/26
41 Aufgabe 6 Betrachte das Programm aus den Klassen OverA, OverB, OverTest. Welche der Methoden aus OverA, OverB sind überladen, und welche werden von welchen überschrieben? Lasse das Hauptprogramm in OverTest laufen. Erkläre detailliert die Ausgabe! PSWT Oktober 2006 p.18/26
42 Aufgabe 7 Programmiere eine Klasse Stack mit: public Stack(int n) erzeugt einen neuen Stack mit Platz für n Objekte. public void push(string s) legt s oben auf den Stack. public String pop() entfernt das oberste Element vom Stack und gibt es zurück public boolean isempty() antwortet ob der Stack leer ist. public String tostring() gibt alle Elemente des Stacks in einem String aus. PSWT Oktober 2006 p.19/26
43 Aufgabe 7 (forts.) Schreibe ein Hauptprogramm in einer anderen Klasse, das Zwei Stacks erzeugt Einige Strings in den ersten Stack schiebt Den Stack als Text ausgibt. In einer Schleife alle Elemente vom ersten Stack popt und auf den zweiten pusht Den zweiten Stack ausgibt. PSWT Oktober 2006 p.20/26
44 Aufgabe 7 (forts.) Schreibe nun eine Unterklasse DebugStack von Stack, die Im Konstruktor einen Namen des DebugStack erhält, den sie sich in einem Feld merkt. Beim Aufruf des Konstruktors eine Nachricht ausgibt: DebugStack xyz initialisiert Die Methoden push und pop überschreibt, so daß diese auch Debugging Nachrichten ausgeben: String blabla auf DebugStack xyz geschoben bzw. String blabla von DebugStack xyz genommen Benutze im Hauptprogramm nun zwei DebugStack Objekte! PSWT Oktober 2006 p.21/26
Praktische Softwaretechnologie Vorlesung 4
Praktische Softwaretechnologie Vorlesung 4 Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT 2006 31. Oktober 2006 p.1/28 Die Klasse
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
MehrIT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
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
Mehr2. Vererbung und Polymorphie. Vererbung (1/2) Beispiel (1/2) Vererbung (2/2) Eine Unterklasse wird folgendermaßen definiert
2. Vererbung und Polymorphie Vererbung (1/2) Vererbung mit extends Konstruktoren bei der Vererbung Überladen von Methoden - statische Polymorphie Casten Dynamische Polymorphie Klasse Object Eine Unterklasse
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
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
MehrKapitel 5: Interfaces
Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 5: Interfaces Folie 82 : Einleitung Betrachtet man die Programmierleistung für ein Produkt über einen längeren Zeitraum,
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
MehrSyntax. int a; public A() {...} public void F() {...} }
Vererbung 1 Syntax class A { int a; public A() {... public void F() {... // Oberklasse class B : A { // Unterklasse (erbt von A, erweitert A) int b; public B() {... public void G() {... B erbt a und F(),
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,
MehrInnere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.
Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste
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,
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
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:
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,
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
MehrUntertypen, Vererbung, Sichtbarkeit A01 OOP. Untertypen, Vererbung, Sichtbarkeit
2013-10-30 Untertypen, Vererbung, Sichtbarkeit 1 185.A01 OOP Untertypen, Vererbung, Sichtbarkeit 2013-10-30 Untertypen, Vererbung, Sichtbarkeit 2 OOP Abstrakte Klassen Polygon ւ ց Triangle Square Hexagon
MehrKlassen, Vererbung, Benutzereingabe
Klassen, Vererbung, Benutzereingabe Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der letzten Vorlesungen: Objektorientierte
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
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
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
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Donnerstag Inhaltsübersicht java.lang.object Pakete Java Applications Klassenmethoden und -variablen Ein- und Ausgabeströme Objektorientiertes Programmdesign Javas Root-Klasse:
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 3 Schnittstellen 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen
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
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).
MehrSoftwaretechnik WS 16/17. Übungsblatt 01
Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and
MehrBachelorprüfung: Objektorientierte Softwareentwicklung
Bachelorprüfung: Objektorientierte Softwareentwicklung WS10/11 Erlaubte Hilfsmittel: keine Lösung ist auf den Klausurbögen anzufertigen. (eventuell Rückseiten nehmen) Bitte legen Sie einen Lichtbildausweis
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
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 3 Schnittstellen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
MehrOOP. Tagesprogramm. Beziehungen zwischen Typen Vererbung Sichtbarkeit
1 2016-11-16 Tagesprogramm Beziehungen zwischen Typen Vererbung Sichtbarkeit 2 2016-11-16 Beziehungen zwischen Typen Abstrakte Klassen und Interfaces public abstract class Polygon { public abstract void
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
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
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
Mehr12. Java Klassen. Klassen - Technisch. Beispiel: Erdbebendaten. Klassen - Konzeptuell
Klassen - Technisch Eine Klasse ist eine Einheit mit einem Namen, die Daten und Funktionalität beinhaltet 12. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, Kapselung,
MehrFaustregeln zu Zusicherungen
Faustregeln zu Zusicherungen Zusicherungen sollen stabil sein (vor allem an Wurzel der Typhierarchie) keine unnötigen Details festlegen explizit im Programm stehen unmissverständlich formuliert sein während
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Klassenattribute und -methoden Bieniusa Software Entwicklung 1 2/ 23 Beispiel: Klassenattribute I class Uebungsgruppe
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
MehrÜbungsstunde 9. Einführung in die Programmierung I
Übungsstunde 9 Einführung in die Programmierung I Probleme bei Übung 8 [TODO Assistent] Nachbesprechung Übung 9 Aufgabe 1 Spieler Spieler[] spieler = { new ZufallsWortSpieler(), new ZufallsWortSpielerMitGedaechtnis(),
MehrListing 1: Cowboy. Listing 2: Woody
Musterlösung Test 3 Aufgabe 1: Cowboy Listing 1: Cowboy class Cowboy { public String rope ( Cowboy that ) { if ( this == that ) { return exclaim (); 5 else { return " Caught "; public String exclaim ()
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
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
MehrInterfaces und Generics
Algorithmen und Datenstrukturen Wintersemester 2012/13 21. Vorlesung Interfaces und Generics Jan-Henrik Haunert Lehrstuhl für Informatik I Übersicht Liste und InsertionSort für Punkte für Objekte beliebiger
MehrMusterübung 09: Vererbung und Dynamische Bindung
Musterübung 09: Vererbung und Dynamische Bindung Abgabetermin: TT.MM.JJJJ Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Hofer) G4 (Angerer) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben
MehrAlgorithmen und Programmierung III
Musterlösung zum 4. Aufgabenblatt zur Vorlesung WS 2006 Algorithmen und Programmierung III von Christian Grümme Aufgabe 1 Amortisierte Analyse 10 Punkte Zu erst betrachte ich wie oft die letzte Ziffer
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
Mehr14. Java Objektorientierung. Klassen, Vererbung, Kapselung
427 14. Java Objektorientierung Klassen, Vererbung, Kapselung Objektorientierung: Verschiedene Aspekte 428 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen
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
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]
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 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
Mehr3. Übungsbesprechung Programmkonstruktion
3. Übungsbesprechung Programmkonstruktion Karl Gmeiner karl@complang.tuwien.ac.at November 16, 2011 K Gmeiner (karl@complang.tuwien.ac.at) 3. Übungsbesprechung PK November 16, 2011 1 / 22 Rückblick und
MehrÜbungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor
Albert-Ludwigs-Universität Freiburg Institut für Informatik Einführung in die Informatik Sommersemester 2013 PD Dr. Cyrill Stachniss Dr. Rainer Kümmerle Übungsblatt 13 Abgabe / Besprechung in Absprache
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 15. Pakete
Grundlagen der Programmierung Prof. H. Mössenböck 15. Pakete Idee Paket = Sammlung zusammengehöriger Klassen (Bibliothek) Zweck mehr Ordnung in Programme bringen bessere Kontrolle der Zugriffsrechte (wer
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
MehrÜbungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor
Albert-Ludwigs-Universität Freiburg Institut für Informatik Einführung in die Informatik Sommersemester 2018 Prof. Dr. Wolfram Burgard Andreas Kuhner Daniel Büscher Übungsblatt 13 Abgabe / Besprechung
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
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/
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
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
MehrEinführung in die Programmierung für NF. Vererbung
Einführung in die Programmierung für NF Vererbung Ziele Vererbungsprinzip der objektorien=erten Programmierung verstehen und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden
MehrEinführung in die Programmierung. 8.0 Vererbung. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung 8.0 Vererbung Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013 and Thomas Gross 2016 All rights reserved. Uebersicht 8.2 Selektiv Verhalten
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
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
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
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
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
MehrWie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?
Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Objektorientierte Programmierung 22. 05. 2006 Aufgabe 9 (SMS-Eingabe am Handy mit Tries)
MehrProgrammierung für Mathematik HS11
software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren
MehrProblemstellung. Object1:Klasse1. Object2:Klasse2 att1: Klasse1 att2: 9. att1: att2: 17. Klasse1 att1 att2 Klasse2 att1 att2
Problemstellung Objekt mit aggregierten Objekten: att1: att2: 17 Object1:Klasse1 Object2:Klasse2 att1: Klasse1 att2: 9 serialisiert als Datei: Klasse1 att1 att2 Klasse2 att1 att2 -Speicherung von Objekten
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
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
Mehr