Programmiermethodik Übung 11

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Objektorientierte Programmierung
Übung Autoradio ("alte" Klausuraufgabe)
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Ein Beispiel in Java.
Konstruktoren.
Interface bzw. Schnittstelle anschaulich: Hüllenklasse
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Einführung in die OOP in Java
Programmieren mit JAVA
PRJ 2007/1 Stefan Dissmann Motivation Problem: Benutztes Objekt kennt den Kontext seiner Nutzung nicht. Daher kann es in besonderen Situationen keine Entscheidung.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Abstrakter Datentyp in C++ I - Klasse -
Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10.
Projekt Web Engineering
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Vererbung
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Entwurfs- und Implementationsdiagramme
Entwicklung einer GUI sowie einer KI im Rahmen der ICGE
Objektorientiertes Programmieren
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
EPROG Tutorium #6 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
A Workshop About this chapter General description Units Time Schedule
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Java-Kurs - 9. Übung Besprechung der Hausaufgabe
Objektorientierte Programmierung (OOP)
Java Programme nur ein bisschen objektorientiert.
Tutorium Software-Engineering SS14 Florian Manghofer.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Konstruktoren.
Schnittstellen.
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
OOP II.
Java-Kurs Übung Grafik in Java - das Abstract Windowing Toolkit
Java-Kurs - 8. Übung Klassen und Objekte: Vererbung
Einführung in die Programmierung mit Java
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Die Klasse Vielfrass in Java
Einführung in die Programmierung mit Java
Raphael Fischer Informatik II - Übung 06 Raphael Fischer
Programmierung und Vererbung in Java
Objektorientierte Programmierung und Vererbung
Programmiermethodik Übung 7
Grundkurs Informatik mit Java
OO-Programmierung & Vererbung
Programmiermethodik Übung 9
Ein Referat von Sabrina Vissel, darleen paul und yannick fuchs
1. Die rekursive Datenstruktur Liste 1
9. Vererbung und Polymorphie
Felder in der Informatik
Vererbung in Java Von Jan und Eddi.
Objektorientierte Programmierung
 Präsentation transkript:

Programmiermethodik Übung 11 Sommersemester 2011 Fachgebiet Software Engineering Andreas Scharf andreas.scharf@cs.uni-kassel.de

Agenda Organisatorisches Besprechung HA 7 Vorstellung HA 8 (Zusatzaufgabe) Fragen zur Klausur Vererbung und Polymorphie I Praktische Übung I Vererbung und Polymorphie II Praktische Übung II

Organisatorisches I HA 8 ist eine Zusatzaufgabe Übungsbewertung: Abgabe bis zum 21.07.2011 über das PM Abgabesystem Muss nicht bearbeitet werden Um weitere Punkte zu holen (ein schlechteres Blatt ausgleichen) Klausurzulassung erlangen wenn man schon 3x n.a. oder <50% hat Übungsbewertung: Es werden die besten 5 Abgaben bewertet. Nicht abgegeben = 0%. Mit dem Zusatzblatt kann man das schlechteste (oder ein nicht abgegebenes) Blatt ausgleichen Es wird NICHT gerundet! Beispiel: 88% = 2 Notensprünge.

Organisatorisches II Software Engineering 1 im nächsten Semester Teamarbeit (zufällige Einteilung) Erstellung eines Spiele Clients Letztes Semester: „Mega Lo Mania“ Baustellen: Netzwerk GUI Künstliche Intelligenz …

Besprechung HA 7 I Aufgabe 1: WizardGame::startTurn(…)

Besprechung HA 7 II Aufgabe 2: WizardGame:evaluateWinner()

Besprechung HA 7 III Aufgabe 3: Player::dealCards()

Besprechung HA 7 IV Zusatzaufgabe: Player::evaluateTurn()

Vorstellung HA 8 Wiederholung mit German BBQ: Aufgabe 1: Projekt anlegen Aufgabe 2: Textuelles Szenario auf Englisch Aufgabe 3: Objektdiagramme Aufgabe 4: Klassendiagramm Aufgabe 5: Storyboard Aufgabe 6: Storydiagramm Sinn: Kompletten Workflow nochmal (in Minimalkonfiguration) durchlaufen Gute Vorbereitung zur Klausur!

Fragen zur Klausur

Vererbung und Polymorphie I Klassendiagramm mit Mehrfachvererbung und Polymorphie

Vererbung und Polymorphie I Polymorphie: „Fähigkeit eines Bezeichners, abhängig von seiner Verwendung unterschiedliche Datentypen anzunehmen.“ Polymorphe Methoden: Treten immer im Zusammenhang mit Vererbung und Schnittstellen auf Eine Methode ist polymorph, falls sie in verschiedenen Klassen in der (Vererbungs-)hierarchie die gleiche Signatur hat zahleMensaEssen: 0 zahleMensaEssen: 1.50 zahleMensaEssen: 2.50 zahleMensaEssen: 3.50

Praktische Übung I Implementiert die Klassen Universitaet, Mitglieder, Student, WissMitarbeiter und Professor in Java (von Hand OHNE Fujaba!) Attribut und Methode nicht vergessen Erstellt eine Klasse mit einer main() Methode: Zeigt das Ergebnis einem Betreuer! Zeit 20 Minuten. Mitglied m = new Mitglied(); System.out.println(m.zahleMensaEssen()); Mitglied m2 = new Professor(); System.out.println(m2.zahleMensaEssen()); Mitglied m3 = new WissMitarbeiter(); System.out.println(m3.zahleMensaEssen()); Mitglied m4 = new Student(); System.out.println(m4.zahleMensaEssen()); 3.50 2.50 1.50

Vererbung und Polymorphie II Mehrfachvererbung: Java unterstützt keine Mehrfachvererbung! Lösung: Verwendung von Interfaces (… implements ) statt Vererbung (… extends) Probleme!?

Praktische Übung II Erstellt die Klassen Hiwi und Angestellter Probiert Welchen Compilefehler ergibt dies? Konvertiert die Klasse Angesteller zu einem Interface Benutzt nun statt extends das Schlüsselwort implements Fügt dem Interface die Methoden getGehalt() und getPersonalNr() hinzu Implementiert die Methoden aus dem Interface Angestellter in den drei implementierenden Klassen. Fügt dort auch die passenden Attribute hinzu. Zeit: 10 Min public class Hiwi extends Student, Angestellter{ }

Praktische Übung III Implementiert eine eine neue Klasse mit einer main()-Methode, welche die Objektstruktur, wie in nachfolgender Folie gezeigt, erzeugt. Versuche Variablen so generell wie möglich zu deklarieren. Lassen sich dann alle Attribute setzen? Verwende Casts wie: Zeige den Quellcode und das eDOBS-Diagramm dem Betreuer. Zeit: 15 Min Mitglied m = new Student(); Student s = (Student) m; s.matrikelnr = 11012345;

Praktische Übung IV

Ende Schönes WE!