Programmierung Nachklausurtutorium

Ähnliche Dokumente
Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Vorkurs Informatik WiSe 15/16

Programmieren in Java

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Programmieren in Java

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Objektorientierte Programmierung Studiengang Medieninformatik

Klassen und Konstruktoren in Java

Vererbung, Polymorphie

Polymorphie. 15. Java Objektorientierung II

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

Algorithmen und Datenstrukturen

Polymorphie. 15. Java Objektorientierung II

IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

6. Globalübung (zu Übungsblatt 8)

Objektorientierte Programmierung Studiengang Medieninformatik

Einstieg in die Informatik mit Java

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Objektorientierte Programmierung

Javakurs für Anfänger

Algorithmen und Datenstrukturen 07

Praktikum. SEP: Java-Programmierung WS 2018/19. Modularisierung. Thomas Lemberger und Martin Spießl

Wiederholung. Klassenhierarchie:

Abstrakte Basisklassen

Einstieg in die Informatik mit Java

Vererbung und Polymorphie

1 Abstrakte Klassen, finale Klassen und Interfaces

Javakurs für Anfänger

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Abstrakte Basisklassen

Vererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1

Tafelübung 07 Algorithmen und Datenstrukturen

Programmierkurs Java

Java für Bauingenieure

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus

12 Abstrakte Klassen, finale Klassen und Interfaces

Einführung in die Programmierung I. 11. Vererbung. Stefan Zimmer

Objekt-orientierte Programmierung

Implementieren von Klassen

Java Grundlagen 2 - OOP

Informatik II Übung 6

Einführung in die Programmierung

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen

14 Abstrakte Klassen, finale Klassen, Interfaces

Wiederholung zur Vorlesung Programmieren

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen

Javakurs für Anfänger

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces

14 Abstrakte Klassen, finale Klassen, Interfaces

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

Programmiermethodik 3. Klausur Lösung

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax

Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe.

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Prüfung Softwareentwicklung II (IB)

Programmierkurs C++ Abstrakte Klassen und Methoden

Javakurs für Anfänger

Einstieg in die Informatik mit Java

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

1. Abstrakte Klassen

Praxis der Programmierung

Das Interface-Konzept am Beispiel der Sprache Java

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Informatik II Übung, Woche 17

Begriffe 1 (Wiederholung)

JAVA 05: Objektorientierte Konzepte

Die abstrakte Klasse Expression:

Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, Schnittstellen und Pakete

Präsentation Interfaces

Probeklausur: Programmierung WS04/05

Programmieren 1 09 Vererbung und Polymorphie

Java Einführung Vererbung und Polymorphie. Kapitel 13

Abschnitt 14: Schnittstellen: Interfaces

Vererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1

Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern

Abstrakte Klassen, Interfaces

Info B VL 8: Abstrakte Klassen & Interfaces

Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen:

Die Welt in unseren Programmen false -1.4E-12. false. Klassen

14. Java Objektorientierung

14. Java Objektorientierung

Vererbung und Polymorphie

14. Java Objektorientierung. Klassen, Vererbung, Kapselung

Untertypen, Vererbung, Sichtbarkeit A01 OOP. Untertypen, Vererbung, Sichtbarkeit

Info B VL 11: Innere Klassen/Collections

Statische Methoden, Vererbung, Benutzereingabe

Einführung in die Programmierung

Kapitel 4: Klassen und Unterklassen

II.4.2 Abstrakte Klassen und Interfaces - 1 -

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 3: Kombination OOP/WF

Transkript:

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 public class Koordinate{ private int x; private int y; Attribute public Koordinate(int px, int py){ x = px; y = py; } Konstruktor } public int getx(){ return x; } Methoden

Konstruktor Mithilfe eines Konstruktors kann man eine Klasse instanziieren (Objekt einer Klasse erstellen) Bsp. Erstellung eines neuen Koordinaten-Objektes: Koordinate punkt = new Koordinate(4, 7); (Konstruktoraufruf) - Sollte kein Konstruktor definiert sein, existiert immer ein Default-Konstruktor, der keine Parameter erwartet.

Zugriff der Variablen public class Fahrrad{ private int zoll; Instanzvariable private static final int RAEDER = 2; Klassenvariable (konstante) public Fahrrad(int zoll){ this.zoll = zoll; } } public int zaehlespeichen(){ int anzahlspeichen = 0; } lokale Variable

Weitere Definitionen static Methoden: können ohne Objekt aufgerufen werden Variablen: Klassenvariable, alle Objekte dieser Klasse benutzen die gleiche Variable this Liefert das aktuell referenzierte Objekt der Klasse

Live Coding Koordinaten (weitere Funktionalitäten implementieren, Beispiel Objekte Funktionen ausführen lassen)

Vererbung Vererbung wird in Java verwendet, um eine bereits vorhanden Klasse zu erweitern bzw. zu spezialisieren es existiert immer eine Ober- und Unterklasse Die Unterklasse erbt alle Methoden und Attribute der Oberklasse (außer private) Unterklasse kann zudem um weitere Attribute/ Methoden erweitert werden (Spezialisierung)

Vererbung weitere Informationen Konstruktor und Funktionen der Oberklasse können mit super() aufgerufen werden Methoden können in der Unterklasse überschrieben werden Eine Klasse kann maximal von einer Oberklasse erben

Vererbung public class Hund extends Tier{ } Hier erbt Hund von Tier mit Hilfe von extends

Live Coding Vererbungsstrukturen

Abstrakte Klassen Definition spezielle Klasse, die sich nicht instanziieren lässt Dient lediglich als Strukturelement in der Vererbung Beinhaltet nur Methodensignaturen (keine vollständigen Methoden ) Alle abstrakten Funktionen müssen(!) in der geerbten Klasse Implementiert werden

Abstrakte Klassen Definition Sinnvoll wenn man sicherstellen möchte, dass eine Unterklasse gewisse Methoden implementiert Sobald eine Methode abstrakt ist, muss die gesamte Klasse abstrakt sein

Beispiel public abstract class Tier{ protected int anzahlbeine; } public abstract int beschaffenahrung();

Live Coding Beispiel Tier

Polymorphie Definition Polymorphie bedeutet wortwörtlich Vielgestaltigkeit und findet Anwendung in der Vererbung von Klassen

Beispiel Polymorphie Beispiel

Live Coding

Interface Ähnlich wie in der Vererbung, bestimmt man einen Bauplan für eine Klasse Im Gegensatz zur Vererbung kann eine Klasse jedoch mehrere Interfaces implementieren Ein Interface besitzt nur Methodensignaturen und Konstanten als Variablen Ein Interface darf niemals private sein

Interface Wie bei abstrakten Klassen müssen auch hier alle Funktionen des Interfaces in den Klassen welche das Interface benutzen implementiert werden

Beispiel Interface public interface BspInterface { // Beispiel Variablen variablentyp konstante1 = wert1; variablentyp konstante2 = wert2;... } // Beispiel Methoden returntyp methodenname1(parameterliste1); void methodenname2(parameterliste2);... (Quelle: http://www.javakurs-online.de/javakurs08.html)

Beispiel Interface Implementierung public class Beispiel implements BspInterface{ } Beispiel für die Implementierung eines Interfaces In der Klasse Beispiel müssen nun alle Methoden von BspInterface implementiert werden

Live Coding Interface