Inhalt: Version 1.7.5

Größe: px
Ab Seite anzeigen:

Download "Inhalt: Version 1.7.5"

Transkript

1 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten I Beziehungen zwischen Objekten II Übersicht Beziehungstypen Konstruktoren Vererbung Sequenzdiagramme mit UML Datenbankanbindung Softwareentwicklung und Wasserfallmodell Version

2 Objektorientierte Softwareentwicklung 2

3 Beispiel: Für ein Vektorzeichenprogramm sollen Rechtecke als Objekte verwaltet werden. Vorüberlegung: Welche allgemeinen Eigenschaften hat ein Rechteck? 3

4 Welche allgemeinen Eigenschaften hat ein Rechteck? Farbe Seite A (Länge) Seite B (Länge) 4

5 Die allgemeinen Eigenschaften werden in einer so genannten Klasse festgehalten. Klassen werden in UML wie folgt dargestellt: Klassenname Attribute mit Datentypen 5

6 Klassen in UML-Darstellung werden wie folgt in JAVA umgesetzt: Datei Rechteck.java: 6

7 Es sollen zwei konkrete Rechtecke mit den Namen r1 und r2 als Objekte aus der Klasse Rechteck erzeugt und getestet werden: 7

8 Die Objekte werden innerhalb einer anderen Datei (hier Testrechteck.java) erzeugt. Diese Datei und die Datei Rechteck.java müssen im selben Verzeichnis liegen! Hier startet das Programm Objekt erzeugen Objekt mit Werten füllen. 8

9 Objektorientierte Softwareentwicklung 9

10 Bislang ist das Objekt rein passiv. Es können über die Attribute nur Werte zugewiesen bzw. wieder ausgelesen werden. Um den Objekt eigene Funktionalität zu geben müssen Methoden (Operationen, Funktionen) zugefügt werden. 10

11 Dem Objekt Rechteck soll eine Methode zur Ausgabe der Objektsdaten auf dem Bildschirm hinzugefügt werden. Diese Methode soll zeigedaten heißen. 11

12 Methoden werden im unteren Teil aufgelistet. Methodenname 12

13 13

14 Datei Rechteck.java: Zugriff die eigenen Objektattribute. 14

15 Datei Testrecheck.java 15

16 16

17 Programmcode ausführen Programmcode übersetzen Datei Testrechteck.java: Datei Rechteck.java: 17

18 Objektorientierte Softwareentwicklung 18

19 Bislang werden die Objektattribute durch direkten Zugriff von außen gesetzt. Dies hat den Nachteil, dass das Objekt keine Möglichkeit hat auf fehlerhafte Wertzuweisungen zu reagieren. Zum Setzen der Attribute ist es daher sinnvoll Methoden einzusetzen. Diese können dann ggf. fehlerhafte Wertzuweisungen abfangen. 19

20 Sie Klasse Rechteck soll durch zwei Methoden setzea und setzeb erweitert werden. Diese Methoden sollen die Objektattribute seitea und seiteb setzen und überprüfen, ob die Werte positiv sind. Bei negativen Werten soll eine Fehlermeldung ausgegeben werden. 20

21 Vorüberlegungen: 1. Braucht die Methode Parameter? JA, der Methode muss eine Länge übergeben werden. Der Parameter muss vom Typ double sein, da die Seitenlänge eine Kommazahl sein kann. 21

22 Methodenname Ein Parameter vom Typ double Der Parameter hat den Namen a. Unter diesem Namen kann der Parameter angesprochen werden. 22

23 Test, ob a positiv Setzen den Attributs seitea Auf den übergebenen Wert. Fehlermeldung falls a negativ. 23

24 Objekt erzeugen Objektattribute über die Methoden setzen. Wert negativ. Liefert eine Fehlermeldung. 24

25 25

26 Objektorientierte Softwareentwicklung 26

27 Ein Programm soll ein Rechteckobjekt erzeugen und mit den Methoden setzea und setzeb die Seitenlängen setzen. Nur wenn das Rechteck fehlerfrei d.h. mit positiven Werten für a und b - erzeugt wurde, sollen die Objektdaten auf dem Bildschirm ausgegeben werden. 27

28 Problem: Das Programm, welches das Objekt Rechteck erzeugt, weiß nicht, ob die Attribute korrekt gesetzt wurden. 28

29 Lösung: Die Methoden, welche die Seitenlängen setzen, müssen nach außen mitteilen, ob das Setzen erfolgreich war. 29

30 Die Funktion hat ein Rückgabewert vom Typ boolean. Wenn die Attribute korrekt gesetzt wurden soll die Methode true zurückgeben, sonst false. 30

31 Rechteck +seitea: double +seiteb: double +farbe: String +setzea(a: double): boolean +setzeb(b: double): boolean Mitteilen des Ergebnis Nach außen. 31

32 32

33 33

34 Objektorientierte Softwareentwicklung 34

35 Es soll eine Klasse Messwerte entwickelt werden: Diese Klasse kann bis zu 100 Messewerte verwalten. Die Klasse hat Methoden um einen neuen Messwert hinzuzufügen (alle bisherigen Messwerte sollen erhalten bleiben), alle bislang gespeicherten Messwerte auf dem Bildschirm auszugeben, um den Durchschnitt aller Messwerte zu berechnen. 35

36 Problem: Wie sollen bis zu 100 Werte als Objektattribute verwaltet werden? Lösung 1: Es werden 100 Attribute angelegt. Schlechte Lösung da: Hoher Aufwand 100 Variablen anzulegen! Aufwendige Programmierung, da 100 Attributnamen. Unflexibel, da Programm schwierig zu erweitern, wenn noch mehr Werte verwaltet werden sollen. 36

37 Lösung: es muss ein Array als Attribut verwendet werden, welches die Messwerte speichert. Problem: Das Array weiß nur, wie viele Werte es maximal (100) aufnehmen kann. Es weiß aber nicht, welche Position im Array als nächstes frei ist. Lösung: Das Objekt muss sich merken, welches die nächst freie Position ist. 37

38 Messwerte -werte: double[0..100] -freieposition: int = 0 +werthinzufuegen(double wert): void +zeigeallewerte(): void +berechnedurchschnitt(): double 38

39 39

40 40

41 Objektorientierte Softwareentwicklung 41

42 Für eine Versicherungsfirma soll eine objektorientierte Software zur Verwaltung von Fahrzeugen und Kunden entwickelt werden. Jedem Auto soll dabei ein Kunde als Besitzer zugeordnet werden. 42

43 ? Anmerkung: Die Attribute sind nur exemplarisch vorhanden und es sind keine Methoden dargestellt. 43

44 Rollenname Assoziationsname Auto +hersteller: String +baujahr: int +haftpflichtklasse: int gehört Kardinalität +Besitzer 1 Kunde +nummer: int +vorname: String +nachname: String Assoziation 44

45 Auto +hersteller: String +baujahr: int +haftpflichtklasse: int gehört +Besitzer 1 Kunde +nummer: int +vorname: String +nachname: String 45

46 a1 : Auto hersteller = "Volkswagen" baujahr = 2008 haftpflichtklasse = 12 k1 : Kunde nummer = 1234 vorname = "Max" nachname = "Mustermann" 46

47 Anmerkung: Der Einfachheit halber wurde direkt auf die Objektattribute zugegriffen. Für das Setzen der Attribute sollten Setzen-Methoden bereitgestellt werden. Dies gilt auch für das Herstellen der Beziehung. Siehe dazu auch die entsprechende Übung. 47

48 Objektorientierte Softwareentwicklung 48

49 Es soll eine objektorientierte Software zur Verwaltung von Schülern und Schulklassen entwickelt werden. Sowohl Schüler als auch Schulklassen sollen in der Software als Objekte repräsentiert werden. Eine Schulklasse soll über eine Methode zum Hinzufügen eines Schülers und eine Methode zum Anzeigen aller Schüler verfügen. 49

50 Darstellung eines Schülers: 50

51 Darstellung einer Schulklasse: 51

52 Beziehung zwischen Schulklasse und Schüler? 52

53 Schulklasse Schueler -bezeichnung: String -schulform: String +setzebezeichnung(bezeichnung: String): void +setzeschulform(form: String): void +schuelerhinzufuegen(s: Schueler): void +zeigeschueler(): void hat +SchuelerInKlasse * -name: String -vorname: String -nummer: int +setzename(name: String): void +setzevorname(vorname: String): void +setzenummer(nummer: int): void Das * bedeutet: in einer Klasse befinden sich viele/mehrere Schüler. 53

54 Testbeispiel-Objektstruktur: k1 : Schulklasse bezeichnung="12foi2" schulform="fos" s1 : Schueler name="simpson" vorname="bart" nummer=1234 s2 : Schueler name="van Houten" vorname="milhouse" nummer=

55 Schulklasse Schueler -bezeichnung: String -schulform: String +setzebezeichnung(bezeichnung: String): void +setzeschulform(form: String): void +schuelerhinzufuegen(s: Schueler): void +zeigeschueler(): void hat +SchuelerInKlasse * -name: String -vorname: String -nummer: int +setzename(name: String): void +setzevorname(vorname: String): void +setzenummer(nummer: int): void Für die Klasse Schueler gibt es keine Besonderheiten. Sie wird wie gehabt implementiert (siehe nächste Folie). 55

56 56

57 Problem: Die Klasse Schulklasse muss sich viele Schüler merken. Schulklasse Schueler -bezeichnung: String -schulform: String +setzebezeichnung(bezeichnung: String): void +setzeschulform(form: String): void +schuelerhinzufuegen(s: Schueler): void +zeigeschueler(): void hat +SchuelerInKlasse * -name: String -vorname: String -nummer: int +setzename(name: String): void +setzevorname(vorname: String): void +setzenummer(nummer: int): void Lösung: Die Klasse Schulklasse merkt sich in einem Array alle Schüler. 57

58 Lösung: Die Klasse Schulklasse merkt sich in einem Array alle Schüler. Dabei ist folgendes zu überlegen: Das Array ist vom Typ Schueler. Das Array muss groß genug sein (z.b. 50). Das Array muss einen Namen haben (hier: SchülerInKlasse). Das Array wird der Reihe nach aufgefüllt. Die erste Position ist daher die 0, die letzte die 49 (da 50 Einträge). Man muss sich merken, welches die nächste freie Position im Array ist. Alle Plätze davor sind belegt. 58

59 Array für Schüler Variable für freie Position Schüler in Array einfügen freie Position eins weiter schalten Alle Schüler im Array der Reihe nach ausgeben. 59

60 60

61 Objektorientierte Softwareentwicklung 61

62 Gerichtete Assoziation: Klasse A kennt / benutzt Klasse B. Umsetzung: Referenz auf Klasse B in Klasse A. Assoziation: Klasse C kennt / benutzt Klasse D und umgekehrt (Beziehung geht in beide Richtungen). Umsetzung: Die Klassen referenzieren sich gegenseitig. 62

63 Aggregation: Komposition: Aggregationen bzw. Kompositionen sind spezielle Assoziationen, die "Teile/Ganzes"-Beziehung beschreiben. Das "Teil des "Ganzen kann bei der Aggregation auch einzeln existieren, bei der Komposition nur, wenn auch das "Ganze" existiert. Das "Ganze" befindet sich auf der Seite der Raute. Bei der Implementierung werden Aggregationen und Kompositionen häufig nicht anders als normale Assoziationen behandelt. 63

64 Beispiel für eine Aggregation: Die Räder sind Teil von einem Auto und können auch ohne das Auto existieren. Beispiel für eine Komposition: Ein Gehirn ist ein Teil von einem Menschen. Ohne den Menschen kann das Gehirn aber nicht existieren. 64

65 Objektorientierte Softwareentwicklung 65

66 Die Aufgabe des Konstruktors ist es bei der Objekterzeugung bestimmte Vorbereitungen zu erledigen (z.b. Variablen mit Startwerten zu belegen), ohne die ein Arbeiten mit dem Objekt nicht möglich ist.

67 Es soll eine Klasse Rechteck entwickelt werden. Bereits bei Objekterzeugung sollen die Seitenlängen gesetzt werden. Es wird ein Konstruktor zum Setzen der Seitenlängen benötigt: 67

68 Konstruktoren werden als spezielle Methoden aufgeführt. 68

69 Implementierung der Klasse Rechteck: Objekterzeugung: Nicht mehr möglich ist jedoch: 69

70 Die Klasse Rechteck soll erweitert werden: Die Objekterzeugung ohne Werteübergabe bei Objekterzeugung soll ermöglich werden. Zusätzlich soll bei Objekterzeugung optional auch das Attribut Farbe gesetzt werden können. 70

71 Es werden mehrere Konstruktoren eingeführt. Diese können wahlweise für die Objekterzeugung verwendet werden. 71

72 Implementierung der Klasse Rechteck: Möglichkeiten der Objekterzeugung: 72

73 Objektorientierte Softwareentwicklung 73

74 Für einen Betrieb ist eine Mitarbeiterverwaltung zu entwickeln. In dem Betrieb gibt es zwei Arten Mitarbeiter: Angestellte und Arbeiter Angestellte erhalten einen Basislohn und eine Provision, während Arbeiter einen Stundenlohn erhalten. 74

75 Angestellte und Arbeiter haben als Mitarbeiter gemeinsame Eigenschaften (Name, Vorname,..) und Methoden. Zusätzlich haben die Mitarbeiter spezielle Eigenschaften und Methoden, die sich voneinander unterscheiden je nachdem, ob die Angestellte oder Arbeiter sind. Idee: Gemeinsamkeiten zusammenfassen und nach Unterschieden spezialisieren. 75

76 Spezialisierung Generalisierung Gemeinsamkeiten Unterschiede Alle Angestellte und Arbeiter haben / erben alle Eigenschaften und Methoden von Mitarbeitern und erweitern diese entsprechend. Überlegung: Wie müssen sich die Methoden berechnegehalt und zeigedaten verhalten? Neu: Sichtbarkeit protected (Zugriff von außen verboten, aber Erben können zugreifen) 76

77 77

78 78

79 79

80 80

81 81

82 Objektorientierte Softwareentwicklung 82

83 UML Sequenzdiagramme dienen dazu Interaktionen zwischen Objekten darzustellen. Objekte interagieren über Methodenaufrufe miteinander. 83

84 Ein Kunde will an einem Bankautomat Geld abheben. Benötigte Schnittstellen: 84

85 85

86 Mehrfach Geld abheben: 86

87 Nur Geldabheben, wenn erfolgreich im System eingeloggt: 87

88 Entweder Einzahlen oder Auszahlen je nach Kontostand: 88

89 Objektorientierte Softwareentwicklung 89

90 Treiber JAVA- Programm JDBC-API Datenbank Installation des MySQL-Treibers: 1. Datei mysql-connector-java bin.jar in das Verzeichnis \lib\ext der Java-Laufzeitumgebung kopieren. 2. Unter Eclipse: Datei mysql-connector-java bin.jar importieren. 90

91 Kommunikation eines JAVA Programms mit einer MySQL-Datenbank: Verbindung aufbauen MySQL-Befehle generieren MySQL-Befehl(e) abschicken MySQL-Befehle ggf. auswerten Verbindung schließen 91

92 Es soll auf eine MySQL-Datenbank mit Namen verwaltung zugegriffen werden. In die Tabelle mitarbeiter sollen Daten eingefügt werden. Aus der Tabelle mitarbeiter sollen alle Datensätze ausgelesen und auf dem Bildschirm angezeigt werden. 92

93 93

94 94

95 95

96 Objektorientierte Softwareentwicklung 96

97 schrittweise und systematische Vorgehensweise in der Softwareentwicklung Softwareentwicklungsprozess ist in Phasen organisiert jede Phase hat definierte Start- und Endpunkte mit eindeutig definierten Ergebnissen. die Ergebnisse einer Phasen sind bindende Vorgaben für die nächst tiefere Phase ein ( Wasserfall ). Aufwärtslaufen in den Phasen möglich, sofern in der aktuellen Phase etwas schieflaufen sollte, um den Fehler auf der nächsthöheren Stufe beheben zu können. 97

98 98

99 Arbeitsauftrag, Lastenheft Was wird benötigt? Was soll programmiert werden? Umsetzung in eine Programmiersprache (z.b. JAVA) Klassen, Attribute, Methoden, Schnittstellen, Beziehungen, UML Testfälle überlegen, Testen der Umsetzung Alltagsbetrieb der Software, neuer Prozess bei Fehlern oder Erweiterungen notwendig. 99

100 Autor: Christian Frye Version: Datum: 26. März 2012 Web: Mail: 100

Software Engineering Klassendiagramme Einführung

Software 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

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 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

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

Kapitel 6. Vererbung

Kapitel 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

Mehr

Kapitel 6. Vererbung

Kapitel 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

Mehr

Kapitel 6. Vererbung

Kapitel 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

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr

Objektorientierte Programmierung

Objektorientierte 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

Mehr

Software Engineering Klassendiagramme weiterführende Konzepte

Software Engineering Klassendiagramme weiterführende Konzepte Software Engineering Klassendiagramme weiterführende Konzepte Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassenattribut: static Implementierung in Java public

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

UML - Tutorial. Hubert Baumgartner. www.inso.tuwien.ac.at

UML - Tutorial. Hubert Baumgartner. www.inso.tuwien.ac.at UML Tutorial UML - Tutorial SS 06 Hubert Baumgartner www.inso.tuwien.ac.at INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lö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

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation zwischen

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-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

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, 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:

Mehr

Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11

Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Wozu objektorientiertes Programmieren? Die Welt besteht für den Menschen

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: 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,

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: 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

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.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

Mehr

Objektorientierte Programmiersprachen

Objektorientierte Programmiersprachen Objektorientierte Programmiersprachen 1960 Algol 1970 Simula Pascal 1980 Smalltalk C Ada 1990 C++ Eiffel Eine ovale Box symbolisiert eine objektorientierte Programmiersprache. Eine rechteckige Box steht

Mehr

Sichtbarkeit & 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 Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den

Mehr

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish UML Klassendiagramm Igor Karlinskiy, Mikhail Gavrish Agenda Wichtigste Eigenschaften Syntaktische Elemente mit entsprechendem C++ Code Analysemodell Designmodell Quellen 2 Klassendiagramm gibt die Möglichkeit,

Mehr

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Vorkurs C++ Programmierung

Vorkurs 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:

Mehr

5.4 Klassen und Objekte

5.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

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Name: Matrikelnummer: Note: Prüfungstag: 21.09.2012 Prüfungsdauer:

Mehr

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

1.2 Attribute und Methoden Aufbau einer Java-Klasse: Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){

Mehr

Einfü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 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

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Smalltalk CLOS Ada 9 C++ Objektorientierte Softwareentwicklung Object Pascal Java Oberon-2 Frage: Die Bibliothek der Fachhochschule

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

Programmieren in Java

Programmieren 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

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java 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

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet 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

Mehr

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 28 Testklasse public class TestGirokonto { public static void main(string[] args) { // erzeuge neues Konto Girokonto einkonto = new Girokonto();

Mehr

Assoziation und Aggregation

Assoziation und Aggregation Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

EINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

EINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI WiMa/LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik 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,

Mehr

Arrays Fortgeschrittene Verwendung

Arrays 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

Mehr

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.

Jetzt 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

Mehr

Grundwissen Informatik JS 10 24. September 2015

Grundwissen Informatik JS 10 24. September 2015 Grundwissen Informatik JS 10 24. September 2015 Grundlagen der Objektorientierung 1. Erkläre die Begriffe Klasse, Attribut, Attributwert, Objekt, Methode und Dienst. Beispiel! Allgemein Eine Klasse ist

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Software Engineering Klassendiagramme Assoziationen

Software 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

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Ü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

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Ü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

Mehr

Klassendiagramm. (class diagram)

Klassendiagramm. (class diagram) : Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau

Mehr

Java Schulung (Java 2 Java Development Kit 5 / 6)

Java Schulung (Java 2 Java Development Kit 5 / 6) 2. Grundlagen der Objektorientierung 2.1 Klassen, Attribute, Methoden Klassen Eine Klasse beschreibt als Bauplan Gemeinsamkeiten einer Menge von Objekten ist also ein Modell, auf dessen Basis Objekte erstellt

Mehr

Code-Erzeugung aus UML-Klassendiagrammen

Code-Erzeugung aus UML-Klassendiagrammen Dominik 09.03.2009 Universität Ulm Gessenharter Inst. f. Programmiermethodik und Compilerbau Code-Erzeugung aus UML-Klassendiagrammen Theorie und Praxis Seite 2 REConf 2009 München Dominik Gessenharter

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

Einführung in die. objektorientierte Programmierung

Einfü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

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: 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,

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren 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

Mehr

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Arrays 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

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 13. Aufgabe (13 Punkte) Schreiben Sie eine neue Klasse Zahlenanalyse, mit der Integer-Objekte genauer betrachtet werden können. Bei den zu entwickelnden Methoden kann es immer sinnvoll sein, sich den Ablauf

Mehr

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation Objektorientierte Konzepte und Notation in UML Objekt Klasse Attribut Operation Objekt Wodurch zeichnet sich ein Objekt aus? - Zustand - Verhalten - Identität Objektdiagramm - Notationsregeln :Kuh Elsa:Kuh

Mehr

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

Kapitel 3 Das Projekt Bankkonto Seite 1

Kapitel 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.

Mehr

Einführung in die Java- Programmierung

Einfü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

Mehr

Vererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.

Vererbung. 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,

Mehr

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords 4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 12: Einführung in UML und Java API Dokumentation Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in UML Sequenzdiagramm Klassendiagramm

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 1. Aufgabe (Spielen mit Objekten) Gegeben sei der auch von der Veranstaltungsseite erhältliche Programmcode auf der rechten Seite, der im Detail zuerst nicht verstanden werden muss. a) Erzeugen Sie sich

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

Kapitel 12 Dokumentation und Zugriffsrechte

Kapitel 12 Dokumentation und Zugriffsrechte Kapitel 12 Dokumentation und Zugriffsrechte Seite 1 / 6 Kapitel 12 Dokumentation und Zugriffsrechte Lernziele: Dokumentation mit Hilfe von Javadoc Datenkapselung über Zugriffsrechte 12.1 Dokumentation

Mehr

Java lernen mit BlueJ

Java lernen mit BlueJ Java lernen mit BlueJ Eine Einführung in die objektorientierte Programmierung David J. Barnes Michael Kölling 4.0 Lernen in Eigenregiegi Vorlesungen Seminare Übungen Bücher Webseiten Diskussionslisten

Mehr

Java Einführung Klassendefinitionen

Java Einführung Klassendefinitionen Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse

Mehr

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139 Auf einen Blick 1 Einführung... 13 2 Erste Schritte... 19 3 Programmierkurs... 33 4 Datentypen... 81 5 Weiterführende Programmierung... 139 6 Objektorientierte Programmierung... 191 7 Verschiedene Module...

Mehr

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern Objektorientierte Programmierung mit Python Polymorphismus und Vererbung Eltern Kind Kind Kind Kind Prinzipien der objektorientierten Programmierung Vererbung Strukturierung von Klassen. Oberbegriffe beschreiben

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2 Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Ein Computerprogramm besteht aus Funktionen (Programmabschnitten, die etwas tun) und Variablen (Speicherplätzen für Informationen). Werden Funktionen aktiviert, verändern

Mehr