Kapitel 19: Klassen und Unterklassen
|
|
- Sophia Hauer
- vor 8 Jahren
- Abrufe
Transkript
1 Kapitel 19: Klassen und Unterklassen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter Gumm, Philipps-Universität Marburg
2 Übersicht Unterklassen Vererbung, super, over-riding Applets Praktische Informatik I, HWS 2009, Kapitel 19 Seite 2
3 Rückblick: Klasse Konto Modelliert ein Bankkonto Enthält Felder für Kontostand, Inhaber, Kontonummer Felder sind private Von außerhalb der Klasse nicht zugreifbar Methoden zum Lesen und Verändern der Felder getter/observer setter/mutator Konto Felder: static int naechstekontonummer private int kontostand private String inhaber private int nummer Methoden: getter int getkontostand() int getinhaber() int getnummer() setter void einzahlen(int) void überweisen(konto, int) void abheben (int)... Praktische Informatik I, HWS 2009, Kapitel 19 Seite 3
4 Spezielle Klassen Wir wollen spezielle Konten implementieren Girokonten Sparkonten Man kann überziehen, muss dann aber Zinsen zahlen Es gibt keine Habenzinsen man erhält Zinsen, man kann nicht überziehen man kann von Sparkonten nicht überweisen Wir könnten separat jeweils neue Klassen mit allen Feldern und Methoden schreiben class Sparkonto {... int nummer; String inhaber; static int sparzinssatz = 3; } int getinhaber(){ return inhaber; }... class Girokonto {... int nummer; String inhaber; static int kreditzinssatz = 13; int limit=10000;... int getinhaber(){ return inhaber; }... } Praktische Informatik I, HWS 2009, Kapitel 19 Seite 4
5 Modellierung als Unterklassen Immer wenn man Funktionalität in anderen Klassen wiederverwenden möchte, sollte man über Unterklassen und Vererbung nachdenken Wiederverwendung der Basisfunktionalität der Klasse Konto Sparkonten und Girokonten sind spezielle Konten Jedes GiroKonto kann benutzt werden wie ein Konto Die Klasse GiroKonto ist eine Unterklasse der Klasse Konto Jedes SparKonto kann benutzt werden wie ein Konto Die Klasse SparKonto ist eine Unterklasse der Klasse Konto Praktische Informatik I, HWS 2009, Kapitel 19 Seite 5
6 Vererbung / Erweiterung Unterklassen und ihre Objekte haben zusätzliche Eigenschaften Sie erben alle (nicht privaten) Felder und Methoden der Oberklasse Sowohl Sparkonten als auch Girokonten haben automatisch Die Felder nummer, kontostand, inhaber Die Methoden getkontostand, einzahlen, abheben Sie können zusätzliche Felder haben Sparkonten Was ist der sparzinssatz Wann wurde letztmals Zins gutgeschrieben Girokonten Was ist der Überziehungszins Was ist das Überziehungslimit Seit wann ist überzogen Sie können zusätzliche Methoden haben Sparkonten Zinsen gutschreiben Girokonten Gebühr abziehen Praktische Informatik I, HWS 2009, Kapitel 19 Seite 6
7 Unterklassen in Java Mit dem Schlüsselwort extends beerbt eine Klasse eine andere Klasse: class SparKonto extends Konto{... static int sparzinssatz = 3; int letzterzinstag; int getsparzinssatz(){ return sparzinssatz; } void zahlezinsen(){... class GiroKonto extends Konto{... static int kreditzinssatz = 13; int letzterrechnungstag; int limit=10000; int getlimit(){ return limit; } void berechnegebühr(){... Praktische Informatik I, HWS 2009, Kapitel 19 Seite 7
8 Zugriff auf Oberklasse private Felder sind privat auch aus der Unterklasse aus nicht zugreifbar getter und setter sollten genügen protected Felder sind zugreifbar aus der Unterklasse nicht zugreifbar aus anderen Klassen ungeschützte Felder sind zugreifbar von allen Klassen des gleichen Pakets nicht zugreifbar aus Klassen anderer Pakete package private Konto Felder: static protected int zinssatz protected int kontostand String inhaber private int nummer Methoden: getter int getkontostand() int getinhaber() int getnummer() setter void einzahlen(int) void überweisen(konto, int) void abheben (int)... Praktische Informatik I, HWS 2009, Kapitel 19 Seite 8
9 Zugriffe aus der Unterklasse Konto Felder: protected int kontostand String inhaber private int nummer Methoden: getter int getkontostand() int getinhaber() int getnummer() setter void einzahlen(int) void überweisen(konto, int) void abheben (int)... class SparKonto extends Konto{ void zahlezinsen(){ einzahlen( kontostand * sparzinssatz); } // o.k. void druckeauszug(){ System.out.println(inhaber); //o.k. System.out.println(nummer); //falsch System.out.println(kontoStand); //o.k. } Praktische Informatik I, HWS 2009, Kapitel 19 Seite 9
10 Die Unterklasse in BlueJ Diese Pfeile zeigen an, dass SparKonto und Girokonto Unterklassen von Konto sind. Jedes Objekt der Teilklasse - hat zusätzliche Methoden - erbt alle Methoden der Oberklasse: Praktische Informatik I, HWS 2009, Kapitel 19 Seite 10
11 Eine Klasse mit Unterklassen Klasse Konto mit Unterklassen GiroKonto und SparKonto und eine Klasse, die die letzteren benutzt. Praktische Informatik I, HWS 2009, Kapitel 19 Seite 11
12 Overriding: über-definieren Methoden der Oberklasse können in der Unterklasse verändert werden: z.b. kann die Methode abheben in der Unterklasse Sparkonto neu definiert werden: class Sparkonto extends Konto{... void abheben(int betrag){ if (getkontostand() >= betrag) super.abheben(betrag); }... Nur falls ( if ) (kontostand betrag ) ist führe die Aktion aus. Die Methode abheben der Oberklasse, hier Konto. Praktische Informatik I, HWS 2009, Kapitel 19 Seite 12
13 Klasse - Unterklasse Wann sollte man eine Klasse als Unterklasse einer bestehenden Klasse modellieren? Nur wenn es begrifflich Sinn macht Jeder Kreis ist eine Figur, jede Figur ist ein geometrisches Objekt, jedes Sparkonto ist ein Konto, jeder PKW ist ein Fahrzeug... ist ein......kann benutzt werden wie... Nur wenn jedes Objekt der neuen Klasse als spezielles Objekt der bereits bestehenden Klasse angesehen werden kann Quadrat ist ein spezielles Rechteck, ein Kreis ist eine spezielle Ellipse, ein Sparkonto ist ein spezielles Konto, eine ganze Zahl ist eine spezielle rationale Zahl Nur wenn die Methoden der Oberklasse auch in der Unterklasse Sinn machen. makevisible() der Klasse Figur macht auch Sinn für jeden Kreis, länge(), breite() und fläche() der Klasse Rechteck machen auch Sinn für Quadrate, referenzpunkt() der Klasse GeometrischesObjekt macht auch Sinn für Kreise Praktische Informatik I, HWS 2009, Kapitel 19 Seite 13
14 super verweist von der Unter- in die Oberklasse class Sparkonto extends Konto{ // Wir übernehmen den // Konstruktor der Oberklasse } SparKonto(String x){ super(x); letzterzinstag = 0; }... Praktische Informatik I, HWS 2009, Kapitel 19 Seite 14
15 Fallstricke In vielen Fällen haben Objekte der Unterklasse zusätzliche Felder Ein SparKonto ist ein Konto mit zusätzlichen Feldern, z.b. sparzins, letzterzinstag,... Ein PKW ist ein Fahrzeug mit zusätzlichen Feldern, z.b. personenzahl,... Eine MusikCD bzw. ein Film ist ein spezielles MedienKunstwerk, die neben autor, titel und herstellungsjahr noch titelliste und musikgenre bzw. schauspielerliste und kameramann hat. Allein die Tatsache, dass Objekte der Klasse B mehr Felder haben, als Objekte der Klasse A macht B noch nicht zur Unterklasse von A Ein Quadrat hat eine länge, ein Rechteck hat länge und breite. Ein Rechteck ist aber kein spezielles Quadrat ganz im Gegenteil! Eine RationaleZahl hat zähler und nenner, eine GanzeZahl nur zähler. RationaleZahlen sind aber nicht spezielle GanzeZahlen im Gegenteil! Praktische Informatik I, HWS 2009, Kapitel 19 Seite 15
16 Eingebaute Java-Klassen erweitern Klassen erweitern, heißt Unterklassen bilden Unterklasse erbt alle Felder und Methoden der Oberklasse Sparkonto und Girokonto erben Funktionalität von Konto Java hat eine umfangreiche Klassen-Bibliothek Fast jede )* der Klassen kann man erweitern: Um ein Applet zu schreiben beerbt man die Klasse Applet. Sie stellt Methoden bereit, ein Applet im Browser darzustellen es zu starten bzw. zu stoppen, wenn das Browserfenster verändert wird Auf der Leinwand des Applets zu schreiben, zeichnen, Buttons und Menüs anzubringen Um User-Interfaces zu schreiben beerbt man die Klassen Graphics, Event, Menu, Color, Window, Button,... (siehe Kapitel 20)... die sich in dem in dem Paket java.awt befinden. )* alle Klassen, die nicht als final deklariert wurden Praktische Informatik I, HWS 2009, Kapitel 19 Seite 16
17 Die Klasse Applet WWW-Browser benutzen die Klasse Applet Der Browser erzeugt zunächst ein Applet new Applet( ) das Applet wird initialisiert durch die Methode init() und gestartet mit start() Wechselt der Browser zu einer anderen Webseite, so ruft er die Methode stop() Kommt er zurück, erfolgt wieder ein start() Jedesmal, wenn das Applet neu zu zeichnen ist beim Start wenn das Browserfenster Größe oder Position ändert, ruft der Browser die als public erklärte Methode paint() mit Signatur void paint(graphics g) auf. Ein Applet programmieren heißt: Einige der genannten Methoden re-definieren. init() start() stop() destroy() paint() Praktische Informatik I, HWS 2009, Kapitel 19 Seite 17
18 Wir beerben die Klasse Applet Die Methoden (paint, init, start, stop, destroy) werden von außen von dem Browser aufgerufen. Klasse und ihre Methoden müssen daher public sein Wir beerben die Klasse java.applet.applet Wir redefinieren paint() Wir benutzen die Klassen java.awt.graphics java.awt.color Praktische Informatik I, HWS 2009, Kapitel 19 Seite 18
19 Ausführen in BlueJ Nach dem Kompilieren hat das Kontextmenü der Klasse Äpfelchen eine Auswahl: Run Applet wir wählen eine Dimension aus und sehen das Ergebnis per appletviewer dargestellt Praktische Informatik I, HWS 2009, Kapitel 19 Seite 19
20 Applet in Webpage einbinden Ein Applet lässt sich leicht in eine Webseite einbinden HTML-Marke: <Applet> </Applet> Wichtigste Parameter: code, width, height Code-Datei hier: Äpfelchen.class Praktische Informatik I, HWS 2009, Kapitel 19 Seite 20
21 Nicht gerade spektakulär... Die HTML-Datei - in verschiedenen Browsern Praktische Informatik I, HWS 2009, Kapitel 19 Seite 21
22 Übersicht Unterklassen Vererbung, super, over-riding Applets Ausblick: Kapitel 20, Verwendung von Vererbung zur Programmierung einer grafischen Benutzerschnittstelle Mehr zu Objektorientierung in der Vorlesung Wirtschaftsinformatik II Praktische Informatik I, HWS 2009, Kapitel 19 Seite 22
23 Fallstudie zur Vererbung: Personendatenbank Anhang zu Kapitel 19 der Vorlesung Praktische Informatik I
24 Fallstudie: Datenbank Basiert auf dem BlueJ- Beispielprojekt people Modelliert eine Datenbank für eine Uni Datenbank enthält Studierende, Mitarbeiter und andere Personen Studierende und Mitarbeiter als Unterklassen von Person modelliert Praktische Informatik I, HWS 2009, Kapitel 19 Seite 24
25 Entwurf: Klasse Person Eine Person hat einen Namen und ein Geburtsjahr Objektfelder name und geburtsjahr, beide private Anonyme Personen sollen erlaubt sein Man kann beide Felder lesen und setzen Man kann eine Person in eine Zeichenkette umwandeln Re-Definition der Methode tostring() Praktische Informatik I, HWS 2009, Kapitel 19 Seite 25
26 Entwurf: Klasse Student Ein Student kann auch wie eine Person benutzt werden Unterklasse von Person Hat zusätzlich eine Matrikelnummer Zusätzliches privates Objektfeld String matrikelnummer Hat zusätzlich Methoden, die die Matrikelnummer lesen Soll auch in eine Zeichenkette umgewandelt werden können Praktische Informatik I, HWS 2009, Kapitel 19 Seite 26
27 Entwurf: Klasse Mitarbeiter Ähnlich wie Student, als Erweiterung der Klasse Person Hat zusätzlich ein Büro privates Feld String buerobezeichnung Hat Methoden, um dieses Feld zu lesen und zu setzen Soll auch in eine Zeichenkette umgewandelt werden können Praktische Informatik I, HWS 2009, Kapitel 19 Seite 27
28 Implementierung: Person Standard-Konstruktor: Praktische Informatik I, HWS 2009, Kapitel 19 Seite 28
29 Implementierung: Person Speziellere Konstruktoren Praktische Informatik I, HWS 2009, Kapitel 19 Seite 29
30 Implementierung: Student Standard-Konstruktor: Praktische Informatik I, HWS 2009, Kapitel 19 Seite 30
31 Implementierung: Student Erweiterter Konstruktor: Praktische Informatik I, HWS 2009, Kapitel 19 Seite 31
32 In Zeichenkette umwandeln In der Klasse Person Praktische Informatik I, HWS 2009, Kapitel 19 Seite 32
33 In Zeichenkette umwandeln In der Klasse Student: Praktische Informatik I, HWS 2009, Kapitel 19 Seite 33
34 Vorteile abgeleiteter Klassen Man kann die Klasse Person verwenden, ohne zu wissen, wie sie implementiert ist Erspart einem die Definition und Behandlung der Felder, die eine Person hat Ähnliches kann man auch mit den Standard- Java-Klassen machen Siehe Beispiel Applet in Kapitel 19 Praktische Informatik I, HWS 2009, Kapitel 19 Seite 34
Klassen und Unterklassen
Klassen und Unterklassen Klassenfelder, Klassenmethoden, Unterklassen/Erweiterung, Benutzung, Vererbung, super, over-riding, Systemklassen, Pakete, Applets Klassenfelder Manche Felder müssen nicht in jedem
MehrKlassen und Unterklassen
Klassen und Unterklassen Klassenfelder, Klassenmethoden, Applikationen,Unterklassen, Benutzung, Vererbung, super, over-riding, Systemklassen, Pakete, Applets Klassenfelder Manche Felder müssen nicht in
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
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
Mehr3.3 Klassen und Unterklassen. Wir werden uns in diesem Kapitel näher mit Klassen und Unterklassen in Java beschäftigen.
3.3 Klassen und Unterklassen Wir werden uns in diesem Kapitel näher mit Klassen und Unterklassen in Java beschäftigen. Praktische Informatik I Wolfgang Effelsberg 3. Die Programmiersprache Java 3.3-1 Klassenfelder
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
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrVorlesung im Herbstwintersemester 2007. Autorisierte studentisch Lösungen zu Aufgabenblatt 2
Praktische Informatik I Vorlesung im Herbstwintersemester 2007 Autorisierte studentisch Lösungen zu Aufgabenblatt 2 zusammengestellt von Iva Tsvetkova 9.10.2007 1.Präsenzaufgaben 1.1 Entwurf einer Verwaltung
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
Mehr5 Projekt Bankverwaltung
Kapitel 5 Bankverwaltung (Lösung) Seite 1/7 5 Projekt Bankverwaltung 5.1 Festlegen der Schnittstelle Bevor du mit der Programmierung beginnst, musst du dir einige Gedanken über die Schnittstelle zwischen
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrVIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden
VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:
MehrApplets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.
Johann Wolfgang Goethe-Universität Professur für Graphische Datenverarbeitung Fachbereich Informatik und Mathematik Prof. Dr. Detlef Krömker Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung
Mehr5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
MehrVererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.
Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik II: Objektorientierte SW-Entwicklung,
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
Mehr5. Abstrakte Klassen
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,
MehrSichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben
Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrInformatik 2 Labor 2 Programmieren in MATLAB Georg Richter
Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und
Mehr5.6 Vererbung. Vererbung
5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
MehrLösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell
Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrWorkshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ
IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrArrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrProgrammieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen
Einleitende Bemerkungen Einleitende Bemerkungen Ideen hinter der objektorientierten Programmierung Objekte (/* Instanzen einer Klasse */) im Mittelpunkt Objekte bilden Einheit aus Daten (/* Attributen,
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrBEISPIELKLAUSUR Softwareentwicklung:
Prof. Dr. Andreas Fink Institut für Informatik Fakultät für Wirtschafts- und Sozialwissenschaften Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg BEISPIELKLAUSUR Softwareentwicklung: Objektorientierte
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrArrays Fortgeschrittene Verwendung
Arrays Fortgeschrittene Verwendung Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Arrays: Wiederholung
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrApplets I. Grundlagen der g Applet-Programmierung
Applets I Grundlagen der g Applet-Programmierung 2 Inhalt Applets Was sind Applets Entwicklung Grundlagen Zustandssteuerung eines Applets Methoden zum Nachrichtentransfer Soundausgabe Animation Einbindung
Mehr219 Millionen. für das Familienzentrum Goldach
Spendenaktion Superpunkte für das 219 Millionen für das Es müssen ja nicht gleich Millionen sein - obwohl diese tatsächlich auf den Konten der Supercard-Besitzer liegen, wie Sie dem unten abgedruckten
MehrFolge 18 - Vererbung
Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,
MehrApplications Applets (eingeschränkte Rechte)
1 Arten von Java-Programmen Man unterscheidet 2 verschiedene Arten von Java-Programmen: Applications Applets (eingeschränkte Rechte) Erstere sind eigenständige Programme. Letztere sind "kleine" Programme,
Mehr5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
MehrKapitel 3 Das Projekt Bankkonto Seite 1
Kapitel 3 Das Projekt Bankkonto Seite 1 3 Das Projekt Bankkonto Nun wirst du dich etwas gründlicher mit dem Quelltext einer Klasse beschäftigen. Du lernst, wie zwei Objekte eine gemeinsame Aufgabe erledigen.
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrEinführung in die Informatik Tools
Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
MehrArrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Arrays: Wiederholung Ein Array ist ein Tupel von Elementen gleichen
Mehr! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006
!"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
MehrSich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. www.blogger.com ist einer davon.
www.blogger.com Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. www.blogger.com ist einer davon. Sie müssen sich dort nur ein Konto anlegen. Dafür gehen Sie auf
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrGraphische Benutzungsoberflächen
Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen
MehrÜbersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung
Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrEinführung in die. objektorientierte Programmierung
Einführung in die objektorientierte Programmierung Teil 3 Vererbung Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik Prof. Dr. Gert Faustmann Fachbereich Berufsakademie
MehrAnwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI
Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
MehrLandes-Arbeits-Gemeinschaft Gemeinsam Leben Gemeinsam Lernen Rheinland-Pfalz e.v.
Landes-Arbeits-Gemeinschaft Gemeinsam Leben Gemeinsam Lernen Rheinland-Pfalz e.v. Wer sind wir? Wir sind ein Verein. Wir setzen uns für Menschen mit Behinderung ein. Menschen mit Behinderung sollen überall
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
MehrPIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2008/2009
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2008/2009 FB Informatik
MehrSWE5 Übungen zu Software-Engineering
1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrSoftware Engineering Klassendiagramme Einführung
Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt
MehrWas meinen die Leute eigentlich mit: Grexit?
Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?
MehrGetName(), GetName(), GetGeschlecht() und AelterWerden().
11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
Mehr4 Vererbung, Polymorphie
4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work
MehrSoftwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel
Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrVerbuchung von Zahlungseingängen über das PayPal-Konto
Verbuchung von Zahlungseingängen über das PayPal-Konto Um den Zahlungseingang eines Kunden über ein PayPal-Konto mit Abzug von PayPalGebühren in Ihrer büro easy-firmendatei zu erfassen, müssen folgende
MehrProgrammieren Tutorium
Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,
MehrJetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.
Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens
MehrInformatik für Schüler, Foliensatz 23 Konstruktor, String-Methode und Heldenklassse
rof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 25. Mai 2009 1/10 Informatik für Schüler, Foliensatz 23 Konstruktor, String-Methode und Heldenklassse Prof. G. Kemnitz Institut
MehrSchritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.
Kosten für ein Girokonto vergleichen 1. Was passt? Ordnen Sie zu. a. die Buchung, -en b. die Auszahlung, -en c. der Dauerauftrag, - e d. die Überweisung, -en e. die Filiale, -n f. der Kontoauszug, - e
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrGrundlagen der Programmierung APPLETS
Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets
MehrProfessionelle Seminare im Bereich MS-Office
Gegenüber PowerPoint 2003 hat sich in PowerPoint 2007 gerade im Bereich der Master einiges geändert. Auf Handzettelmaster und Notizenmaster gehe ich in diesen Ausführungen nicht ein, die sind recht einfach
MehrBedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof
Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung
MehrDownload. Klassenarbeiten Mathematik 8. Zinsrechnung. Jens Conrad, Hardy Seifert. Downloadauszug aus dem Originaltitel:
Download Jens Conrad, Hardy Seifert Klassenarbeiten Mathematik 8 Downloadauszug aus dem Originaltitel: Klassenarbeiten Mathematik 8 Dieser Download ist ein Auszug aus dem Originaltitel Klassenarbeiten
MehrSchritt 1 - Ein Spielfeld
Schritt 1 - Ein Spielfeld Wir beginnen mit zwei einfachen Java-Klassen, dem eigentlichen Spielfeld und dem Applet zum Anzeigen des Spielfeldes (und später der Buttons und der anderen Bedienelemente). Hier
MehrFolge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12
Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben
MehrÜbung 4. Musterlösungen
Informatik für Ökonomen II HS 2010 Übung 4 Ausgabe: 18.11.2010 Abgabe: 25.11.2010 Musterlösungen Schreiben Sie Ihre Namen und Ihre Matrikelnummern in die vorgesehenen Felder auf dem Deckblatt. Formen Sie
MehrDie Post hat eine Umfrage gemacht
Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.
MehrFakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012
WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
Mehr