Objektorientierte Softwareentwicklung heißt:
|
|
- Cornelia Ritter
- vor 7 Jahren
- Abrufe
Transkript
1 Inhalt: Oose- Einstieg Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Konstruktoren Beziehungen zwischen Objekten I Beziehungen zwischen Objekten II Übersicht Beziehungstypen Vererbung Sequenzdiagramme mit UML Anwendungsfalldiagramm (UML) Datenbankanbindung Softwareentwicklung und Wasserfallmodell Version
2
3 Objektorientierte Softwareentwicklung heißt: Systematischer Programmentwurf in mehreren Schritten (OOA,OOD,OOP,OOT) Die Welt wird mit Objekten/Klassen beschrieben, welche bestimmte Eigenschaften und Fähigkeiten haben. Die Objekte/Klassen stehen dabei miteinander in Beziehung und interagieren.
4 OOA Objektorientierte Analyse OOD Objektorientiertes Design OOP Objektorientierte Programmierung OOT Objektorientierter Test
5 OOA Objektorientierte Analyse Analyse des Problems WAS soll das Programm tun? grundsätzliche Strukturen werden identifiziert Vorstrukturierung von Klassen- /Objektstrukturen Fragen der technischen Implementierung VÖLLIG vernachlässigt. Ergebnis der OOA : Use-Case- Diagramme, Aktivitätsdiagramme oder (sehr grob gehaltene) Klassendiagramme.
6 OOD Objektorientiertes Design WIE soll das Programm es tun? Ergebnisse der vorigen Schritte werden konkretisiert. Wie werden einzelne Prozesse und Interaktionen realisiert? Wie wird die Datenhaltung realisiert? Wie spielen die einzelnen Schichten (z.b. MVC) zusammen? Aspekte der zu verwendenden Programmiersprache werden relevant (Datentypen; ist Überladung, Mehrfachvererbung möglich?). Als Ergebnis steht ein möglichst konkretes Klassendiagramm. Anmerkung: Die Grenzen zwischen OOA und OOD sind fließend.
7 OOP Objektorientierte Programmierung Umsetzung, d.h. Implementierung der Ergebnisse aus OOA/OOD in Programmcode einer konkreten objektorientierten Programmiersprache.
8 OOT Objektorientierter Test Macht das Programm das, was es soll? Definieren und Durchführen von Testfällen.
9 Objektorientierte Softwareentwicklung 9
10 Problembeschreibung: Sie sind Mitglied einer Entwicklungsabteilung, welche ein Vektorzeichenprogramm entwickeln soll. Sie bekommen den Auftrag die Komponente zur Darstellung von Rechtecken zu entwickelt. Die Software soll objektorientiert sein. 10
11 Wie sehen Beispiel-Rechtecke aus? r1 5 cm r2 3,4 cm 5,24cm 4cm r4 r3 11
12 Welche allgemeinen Eigenschaften hat ein Rechteck? Farbe Seite A (Länge) Seite B (Länge) 12
13 Die allgemeinen Eigenschaften werden in einer so genannten Klasse festgehalten. Klassen werden in UML wie folgt dargestellt: Klassenname Attribute 13
14 Das Objektdiagramm für die konkreten Rechtecke r1 und r2 lautet: 14
15 Überlegen von sinnvollen Datentypen für die Attribute:? 15
16 Wie werden die Attribute umgesetzt? Überlegen geeigneter Datentypen (abhängig von Programmiersprache): Klassenname Attribute mit Datentypen 16
17 Klassen in UML-Darstellung werden wie folgt in JAVA umgesetzt: Datei Rechteck.java: 17
18 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. 18
19 Überlegen von Testfällen, um zu überprüfen, ob das Programm das macht, was es soll. Für das Beispiel: Ausgabe der Objekteattribute nach Objekterzeugung und Wertezuweisung auf dem Bildschirm. 19
20 public class TestRechteck { public static void main(string[] args) { Rechteck r1 = new Rechteck(); r1.seitea = 5; r1.seiteb = 4; r1.farbe = "blau"; Rechteck r2 = new Rechteck(); r2.seitea = 3.4; r2.seiteb = 5.24; r2.farbe = "lila"; // Ausgabe der Objekte System.out.println("Rechteck r1:"); System.out.println("SeiteA:" + r1.seitea); System.out.println("SeiteB:" + r1.seiteb); System.out.println("Farbe:" + r1.farbe); // Ausgabe der Objekte System.out.println("\nRechteck r2:"); System.out.println("SeiteA:" + r2.seitea); System.out.println("SeiteB:" + r2.seiteb); System.out.println("Farbe:" + r2.farbe); } } 20
21 Objektorientierte Softwareentwicklung 21
22 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. 22
23 Das Objekt soll die Fähigkeit gekommen, die Werte seiner Attribute selbst auszugeben. Diese Fähigkeit soll zeigedaten heißen. 23
24 Fähigkeiten werden als Methoden realisiert. Diese erscheinen im Klassendiagramm im unteren Teil aufgelistet. Methoden werden nicht im Objektdiagramm dargestellt. Methodenname 24
25 25
26 Datei Rechteck.java: Zugriff die eigenen Objektattribute. 26
27 Zum Testen wird ein Beispielobjekt erzeugt und die Methode zeigedaten dieses Objektes aufgerufen. Die Objektattribute sollten dann vollständig auf dem Bildschirm erscheinen. 27
28 Datei Testrecheck.java 28
29 Programmcode ausführen Programmcode übersetzen Datei Testrechteck.java: Datei Rechteck.java: 29
30 Objektorientierte Softwareentwicklung 30
31 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. 31
32 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. 32
33 ? Wie kann man der Methode einen Wert mitteilen/übergeben? 33
34 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. 34
35 Methodenname Ein Parameter vom Typ double Der Parameter hat den Namen a. Unter diesem Namen kann der Parameter angesprochen werden. 35
36 Test, ob a positiv Setzen den Attributs seitea Auf den übergebenen Wert. Fehlermeldung falls a negativ. 36
37 Beispielobjekt erzeugen und mit setzen- Methoden mit sinnvollen Werten belegen. Objektdaten ausgeben (mit zeigedaten- Methode). Weiterer Testfall: auch Objekt mit sinnlosen Werten erzeugen, um IF-ELSE-Struktur zu testen. 37
38 Objekt erzeugen Objektattribute über die Methoden setzen. Wert negativ. Liefert eine Fehlermeldung. Anmerkung: Die Ausgabe der Objektdaten ist noch zu ergänzen. 38
39 Objektorientierte Softwareentwicklung 39
40 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. 40
41 Problem: Das Programm, welches das Objekt Rechteck erzeugt, weiß nicht, ob die Attribute korrekt gesetzt wurden. 41
42 Lösung: Die Methoden, welche die Seitenlängen setzen, müssen nach außen mitteilen, ob das Setzen erfolgreich war. Mögliche Antworten sind: Ja Setzen erfolgreich. Nein Setzen nicht erfolgreich. 42
43 Die Funktion hat ein Rückgabewert vom Typ boolean. Wenn die Attribute korrekt gesetzt wurden soll die Methode true zurückgeben, sonst false. 43
44 Rechteck +seitea: double +seiteb: double +farbe: String +setzea(a: double): boolean +setzeb(b: double): boolean Mitteilen des Ergebnis Nach außen. 44
45 45
46 Objektorientierte Softwareentwicklung 46
47 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. 47
48 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. 48
49 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. 49
50 Messwerte -werte: double[0..100] -freieposition: int = 0 +werthinzufuegen(double wert): void +zeigeallewerte(): void +berechnedurchschnitt(): double 50
51 51
52 52
53 Objektorientierte Softwareentwicklung 53
54 Für ein Autohaus soll eine objektorientierte Software zur Verwaltung von Fahrzeugen und Kunden entwickelt werden. Jedem Auto kann dabei ein Kunde als Besitzer zugeordnet werden (unverkaufte Autos haben keinen offiziellen Besitzer). 54
55 Beispiel: Der Kunde Max Mustermann steht mit einem Opel Baujahr 2010 in Beziehung: 55
56 ? 56
57 Multiplizität Leserichtung des Assoziationsnames Navigierbarkeit besitzt Assoziationsname Rollenname Assoziation Anmerkung: Die Multiplizität sagt aus, mit wie vielen anderen Objekten ein Objekt in Beziehung stehen kann. Die Kardinalität sagt aus, mit wie vielen es wirklich in Beziehung steht (macht also nur in Objektdiagrammen Sinn). 57
58 public class Auto { private String hersteller; private int baujahr; private Kunde Besitzer; public void setzehersteller(string h) { this.hersteller=h; } public void setzebaujahr(int j) { this.baujahr=j; } public class Kunde { private String vorname; private String nachname; public void setzevorname(string v) { this.nachname=v; } public void setzenachname(string n) { this.nachname=n; } public void setzebesitzer(kunde b) { this.besitzer=b; } } Anmerkung: welche Auswirkung hätte die Multiplizität 1 statt 0..1 für die Umsetzung? } 58
59 public class test { public static void main(string[] args) { // Kunde erzeugen Kunde k1 = new Kunde(); k1.setzevorname("max"); k1.setzenachname("mustermann"); // Auto erzeugen Auto a1 = new Auto(); a1.setzehersteller("opel"); a1.setzebaujahr(2010); // Dem Auto einen Kunden zuordnen a1.setzebesitzer(k1); } } 59
60 Objektorientierte Softwareentwicklung 60
61 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. Die Schulklasse soll sich ihre Schüler merken. Dazu soll diese über eine Methode zum Hinzufügen eines Schülers und eine Methode zum Anzeigen aller Schüler verfügen. 61
62 Testbeispiel-Objektstruktur: k1 : Schulklasse bezeichnung="12foi2" schulform="fos" s1 : Schueler name="simpson" vorname="bart" nummer=1234 s2 : Schueler name="van Houten" vorname="milhouse" nummer=
63 Darstellung eines Schülers: 63
64 Darstellung einer Schulklasse: 64
65 Beziehung zwischen Schulklasse und Schüler? 65
66 66
67 Für die Klasse Schueler gibt es keine Besonderheiten. Sie wird wie gehabt implementiert. 67
68 Problem: Die Klasse Schulklasse muss sich viele Schüler merken. Lösung: Die Klasse Schulklasse merkt sich in einem Array alle Schüler. 68
69 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 (hier 31). 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 30 (da 31 Einträge). Man muss sich merken, welches die nächste freie Position im Array ist. Alle Plätze davor sind belegt. 69
70 70
71 Array für Schüler Variable für freie Position 31 Schüler in Array einfügen freie Position eins weiter schalten Alle Schüler im Array der Reihe nach ausgeben. 71
72 72
73 Objektorientierte Softwareentwicklung 73
74 Assoziation: Klasse A und B stehen locker in Beziehung. Es ist keine Aussage darüber getroffen wer wen kennt. Assoziation mit Navigierbarkeit (in eine Richtung): Klasse A und B stehen in Beziehung. Dabei kennt / benutzt Klasse A Klasse B. Umsetzung: Referenz auf Klasse B in Klasse A. 74
75 Klasse A und Klasse B stehen in Beziehung. Klasse A kennt / benutzt Klasse B und umgekehrt (Navigierbarkeit geht in beide Richtungen). Umsetzung: Die Klassen referenzieren sich gegenseitig. Klasse A und Klasse B stehen in Beziehung. Klasse A kennt / benutzt Klasse B. Von Klasse B ist Klasse A aber nicht erreichbar (d.h. keine Referenz in diese Richtung). 75
76 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. 76
77 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. 77
78 Objektorientierte Softwareentwicklung 78
79 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.
80 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: 80
81 Konstruktoren werden als spezielle Methoden aufgeführt. 81
82 Implementierung der Klasse Rechteck: Objekterzeugung: Nicht mehr möglich ist jedoch: 82
83 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. 83
84 Es werden mehrere Konstruktoren eingeführt. Diese können wahlweise für die Objekterzeugung verwendet werden. 84
85 Implementierung der Klasse Rechteck: Möglichkeiten der Objekterzeugung: 85
86 Objektorientierte Softwareentwicklung 86
87 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. 87
88 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. 88
89 Spezialisierung Generalisierung Gemeinsamkeiten Unterschiede Alle Angestellte und Arbeiter haben / erben alle Eigenschaften und Methoden von Mitarbeitern und erweitern diese entsprechend. Erben können jedoch nicht direkt auf geerbte private-attribute zugreifen. Der Zugriff erfolgt über die setzen/liefere-methoden (set/get-methoden). Überlegung: Wie müssen sich die Methoden berechnegehalt und zeigedaten verhalten? 89
90 90
91 private private 91
92 private private 92
93 93
94 94
95 Die Klasse, von der geerbt wird, nennt man Oberklasse. Die erbende heißt Unterklasse. Die Methoden zeigedaten und berechnegehalt werden von der Unterklasse überschrieben (override). Dadurch verhalten sich die Methoden von Mitarbeitern unterschiedlich (Angestellter, Arbeiter). Die Möglichkeit des unterschiedlichen Verhaltens eines Mitarbeiters wird Polymorphie (Vielgestaltigkeit) genannt. 95
96 Objektorientierte Softwareentwicklung 96
97 UML Sequenzdiagramme dienen dazu Interaktionen zwischen Objekten darzustellen. Objekte interagieren über Methodenaufrufe miteinander. 97
98 Ein Kunde will an einem Bankautomat Geld abheben. Benötigte Schnittstellen: 98
99 99
100 Mehrfach Geld abheben: 100
101 Nur Geldabheben, wenn erfolgreich im System eingeloggt: 101
102 Entweder Einzahlen oder Auszahlen je nach Kontostand: 102
103 UML Vertiefung 103
104 Das Anwendungsfalldiagramm (Use-Case- Diagram) dient zur Planung eines Softwaresystems (in der OOA-Phase), indem mögliche Akteure (Menschen, Benutzer eines Systems), Anwendungsfälle (Szenarien, wie Akteure das System nutzen) und die Beziehungen dazwischen identifiziert und abgebildet werden.
105 Es soll eine objektorientierte Software für eine Bankfiliale geplant werden. Dazu sind zunächst mögliche Anwendungsfälle, Akteure und Beziehungen zu überlegen.
106 Anwendungsfälle: Geld vom Konto abheben Geld vom Konto einzahlen Konto eröffnen Kredit beantragen Kreditwürdigkeit überprüfen Beratungsgespräche führen Anwendungsfall Akteure: Berater Kunde Akteur
107 Welcher Akteur steht mit welchen Anwendungsfällen in Beziehung? Bankfiliale Geld auf Konto einzahlen Geld vom Konto abheben Konto eröffnen Berater Beratungsgespräche führen Kunde Kredit beantragen? Kreditwürdigkeit überprüfen
108 Es kann sein, dass ein Anwendungsfall einen anderen Anwendungsfall zwingend mit einschließt. Beispiel: Wenn ein Kredit beantragt wird, muss zwingend die Kreditwürdigkeit des Kunden überprüft werden.
109 Bankfiliale Konto eröffnen Berater Beratungsgespräche führen Kunde Kredit beantragen <<include>> Kreditwürdigkeit überprüfen
110 Wenn ein Konto eröffnet wird kann es sein, dass auch ein Beratungsgespräch notwendig wird, wenn z.b. noch Unklarheiten vorhanden sind. Ebenso kann ein Beratungsgespräch für die Kredit vergabe notwendig sein, wenn z.b. die Kreditwürdigkeit Probleme bereitet. Die Anwendungsfälle Konto eröffnen und Kredit beantragen machen also nur unter einer bestimmten Bedingung ein Gespräch notwendig.
111 Bankfiliale Konto eröffnen <<extend>> condition: {Fragen offen} Beratungsgespräche führen Berater condition: {Problem bei Keditwürdigkeit} <<extend>> Kunde Kredit beantragen <<include>> Kreditwürdigkeit überprüfen
112 Ein Anwendungsfall kann durch mehrere Anwendungsfälle erweitert werden. Dann werden Extension Points definiert und der erweitere Anwendungsfall erhält eine Liste mit Extension points.
113 Bankfiliale Beratungsgespräche führen Besondere Konditionen aushandeln condition: {Problem bei Keditwürdigkeit} extension point: Problemkunde <<extend>> <<extend>> condition: {besonders Kreditwürdig} extension point: Premiumkunde Kredit beantragen Extension points: Problemkunde Premiumkunde
114 Oft ist es sinnvoll Anwendungsfälle weiter zu verfeinern (spezialisieren). So könnte es einen, dass es einen Anwendungsfall Geschäftskonto eröffnen gibt, der alles aus dem Anwendungsfall Konto eröffnen umfasst und zusätzlich weitere Aktionen erfordert. 114
115 Konto eröffnen Generalisierung Geschäftskonto eröffnen Spezialisierung
116 Bankfiliale 1 0..* Beratungsgespräche führen 0..* 1
117 Zusätzlich sollen Filialleiter als Akteur berücksichtigt werden. Diese dürfen alles, was ein Berater darf. Zusätzlich darf er eine Monatsabrechnung für die Filiale erstellen.
118 Bankfiliale Geld vom Konto abheben Geld auf Konto einzahlen Berater Konto eröffnen Beratungsgespräche führen Kredit beantragen Monatsabrechnung erstellen Filialleiter
119 Mit Hilfe eines Anwendungsfalldiagramms werden Anforderungen an das System analysiert und dargestellt (OOA). Basierend auf diesem Diagramm können nun weitere OOA/OOD-Planungsschritte folgen (Klassendiagramme, Sequenzdiagramme). 119
120 Objektorientierte Softwareentwicklung 120
121 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. 121
122 Kommunikation eines JAVA Programms mit einer MySQL-Datenbank: Verbindung aufbauen MySQL-Befehle generieren MySQL-Befehl(e) abschicken MySQL-Befehle ggf. auswerten Verbindung schließen 122
123 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. 123
124 124
125 125
126 126
127 Objektorientierte Softwareentwicklung 127
128 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. 128
129 129
130 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. 130
131 Autor: Christian Frye Version: Datum: Web: Mail: 131
Inhalt: Version 1.7.5
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
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
MehrAlgorithmen und Datenstrukturen 06
31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung
MehrVererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus
Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur
MehrEine 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,
MehrRepetitorium 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
Mehr2. Vererbung und Kapselung
2. Vererbung und Kapselung Die Objekte der Klasse BALL werden im Gegensatz zu den Objekten von KREIS noch nicht graphisch dargestellt. Um die BALL-Objekte auch graphisch darzustellen zu können, muss BALL
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrUmsetzung einer Klassenkarte in einer Programmiersprache
Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,
MehrAlgorithmen 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
MehrUML - 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
MehrUniversität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit
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
MehrBegriffe 1 (Wiederholung)
Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.
MehrUML -Klassendiagramme
UML -Klassendiagramme UML - offline: ArgoUML http://argouml.stage.tigris.org/ UML online: Links genmymodel.com umlet.com/umletino/umletino.html Arten von UML-Diagrammen Diagramm Strukturdiagramm Verhaltensdiagramm
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
MehrÜbungen Softwaretechnik I
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der
MehrUnified Modelling Language
Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme
MehrUML (Unified Modelling Language) von Christian Bartl
UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...
MehrObjektorientierte Analyse (OOA) Strukturmodellierung
Strukturmodellierung Seite 1 Strukturmodellierung Seite 2 Anwendung im Projekt Strukturmodellierung Voraussetzung: Use Case Diagramm liefert die funktionelle Gliederung mit Angabe der Ein- und Ausgaben
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
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
MehrSilke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch
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
MehrProgrammiertechnik Objektorientierung
Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was ist Objekt-Orientierung? Objekt-Orientierung (OO) ist nicht völlig scharf definiert, d.h. es gibt unterschiedliche
Mehr1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
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
MehrObjektorientierung. Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik
Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik Organisatorisches Im Web unter http://www.uni-ulm.de/psh Vorwissen Du kannst bereits Klassen als Typen mit statischen
MehrKlassendiagramm. 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
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Objektorientierung Was ist Objektorientierung Es einige Grundprinzipien, die (fast) allen Definitionen des Begriffs Objektorientierung
Mehr1 Abstrakte Klassen, finale Klassen und Interfaces
1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrObjektorientierte 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
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:
MehrKlassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, Schnittstellen und Pakete
2 Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, und Pakete Martin Wirsing Ziele Den Begriff der einfachen und mehrfachen Vererbung verstehen Verstehen, wann Vererbung eingesetzt wird deklarationen
MehrFragen zur OOP in Java
- 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrDie Klasse java.lang.object. Thorsten Treffer
Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:
Mehr3. 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
MehrJava 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
MehrVorlesung Programmieren
Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)
MehrAnwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie
Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,
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
MehrKapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 10: Mehr zur Vererbung und abstrakte Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Mehr zur Vererbung Methoden vererben und überschreiben
Mehr6. Globalübung (zu Übungsblatt 8)
6. Globalübung (zu Übungsblatt 8) Inhalt: Klassenhierarchien Verdecken von Attributen Überschreiben von Methoden Codeanalyse Analyse von JAVA-Programmen Semestralklausur Klausurtermin: Mittwoch 11.01.2006
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung Teil 2 2 Übersicht der heutigen Inhalte Vererbung Abstrakte Klassen Erweitern von Klassen Überladen von Methoden Überschreiben von
MehrMethoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
MehrDer Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw.
Objekt-Orientierung Die ersten objektorientierten Sprachen wurden ab 1967 entwickelt (Simula, Smalltalk). Die Grundidee besteht darin, Objekte der realen Welt abzubilden. Java-Programme bestehen aus Klassen.
MehrJava 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
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
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:
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrAlgorithmen und Programmierung II
Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
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
MehrProgrammierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.
Programmierkurs Java Vererbung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Ähnlichkeiten zwischen Klassen? Beispiel: Klassen Auto
MehrTeil II: OOP und JAVA (Vorlesung 9)
Teil II: OOP und JAVA (Vorlesung 9) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 14.06.06 1 Teil
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
MehrTeil 2: OOP und JAVA (Vorlesung 11)
Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil
MehrJavakurs 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
MehrVon 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
MehrSoftwareentwicklung OOD Videothek
Softwareentwicklung OOD Seite 1 von 5 Softwareentwicklung OOD Videothek Ein mögliches Vorgehen bei OOD soll im Rahmen einer Softwareentwicklung an dem bereits bei der OOA verwendeten Beispiel einer Videothek
MehrVererbung. Oberklassen und Unterklassen
Vererbung Oberklassen und Unterklassen Vererbung ist ein zentrale Bestandteil der Objektorientierung. Man beschreibt damit die Möglichkeit, Eigenschaften und Methoden vorhandener Klassen auf andere (neue)
MehrObjektorientiertes Design
Objektorientiertes Design Beispiel-Anforderungen: Simple International (SIB) Interaktion mit der SIB: Ablauf von Interaktionen: UML Beispiel für OOD: Vorgehen Ergebnis Beispiel-Anforderungen: Simple International
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Christian-Albrechts-Universität zu Kiel CAU 8-1 Objektorientiertes Programmieren Die Programme, die bisher in diesem Kurs verwendet wurden, sind alle klein und überschaubar
MehrC++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
MehrSilke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode
Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode
MehrSoftware 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
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
Mehr8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure
8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:
MehrPraktische Informatik 1
Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode
MehrDie Unified Modeling Language (UML)
Die Unified Modeling Language (UML) Entwickelt seit Mitte der 1990er Vereinigt zahlreiche Ansätze der objektorientierten Modellierung Umfaßt verschiedene Spracheinheiten/Diagrammtypen Struktur Klassiagramme
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrPrinzipien der objektorientierten Programmierung (OOP)
Die Ziele der OOP sind: - bessere Warbarkeit - Wiederverwendbarkeit 1.) Datenkapselung Prinzipien der objektorientierten Programmierung (OOP) Komplexe Datenstrukturen (wie zb ein Stack) werden vom Anwendungsprogramm
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
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
MehrProgrammierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und
Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und 17.6.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
Mehr3 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
MehrPRÜ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: 03.03.2011 Prüfungsdauer:
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
MehrÜberblick. Überblick zum weiteren Inhalt
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Teil 15: Wiederholung Martin Hofmann Steffen Jost LFE Theoretische Informatik, Institut für Informatik, Ludwig-Maximilians Universität, München 3. Februar 2016
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 11 Besprechung: 15. 19.01.018 (KW 3) Vorbereitende
MehrEinführung in die objektorientierte Programmierung
Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.
MehrArbeitsblatt zu Methoden
Arbeitsblatt zu Methoden In den vorhergehenden Programmen haben wir bereits jede Menge Methoden benutzt: 1. kara.move(), kara.turnright(), kara.putleaf() Dies sind alles Methoden, die etwas ausführen,
MehrModellierungstipps für die Anwendungsfallmodellierung
Modellierungstipps für die Anwendungsfallmodellierung Identifiziere nur relativ grobe Abläufe als Anwendungsfälle! Anwendungsfälle werden nicht in weitere Anwendungsfälle zerlegt, höchstens unter Verwendung
MehrGrundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
MehrDurch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei
Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der
MehrKlassen als Datenstrukturen
Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung
MehrVorlesung Programmieren. Bisher: Klassen und Objekte. Was ist mit ähnlichen Klassen? Vererbung und Polymorphismus
Vorlesung Programmieren Vererbung und Polymorphismus Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Bisher: Klassen und Objekte Haupteigenschaften:
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
MehrPRÜ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:
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
MehrOOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen
Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.
Mehr