Moderne Programmierparadigmen Objekt-Orientierung
|
|
|
- Felix Schneider
- vor 9 Jahren
- Abrufe
Transkript
1 Moderne Programmierparadigmen Objekt-Orientierung Sven Apel (Universität Passau) Christian Kästner (Universität Magdeburg)
2 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 2 Agenda Historie der Programmierparadigmen Grundlagen Objekt-Orientierter Programmierung (OOP) Überblick über Moderne OOP Konzepte Frameworks Entwurfsmuster (Design Pattern) Komponenten
3 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 3 Programmierparadigmen Ein Paradigma ist ein(e) grundlegendes Konzept/Prinzip/Weltsicht, auch in anderen Wissenschaften Paradigmen sind nicht universal akzeptiert, stehen in Konkurrenz, und werden manchmal durch neuere Paradigmen abgelöst Programmierparadigmen beschreiben grundlegende Konzepte von Programmiersprachen Programmiersprachen werden anhand solcher Paradigmen entworfen und kategorisiert
4 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 4 Bekannte Programmierparadigmen Strukturierte Programmierung, Anfang 70er Verzicht auf GOTO, dafür Sequenz, Auswahl, Schleifen Zerlegung in Teilprogramme (Prozeduren) Typische Sprache: Pascal, C, Ada Modulare Programmierung, 70er Wachsende Programmgröße Dekomposition in Teilprogramme (Module) Module einzeln planen, entwickeln, testen Typische Sprache: Modula-2, Ada
5 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 5 Bekannte Programmierparadigmen II Abstrakte Datentypen, Ende 70er Implementierungsunabhängige Spezifikation von Datenstrukturen Aufteilung Wertebereich vs. Operationen, und Signatur vs. Semantik Funktionale Programmierung, seit 50er Programme bestehen nur aus Funktionen Keine Statusvariablen, nur Parameter Logische Programmierung, seit 60er/70er Nutzung logischer Ausdrücke zur Programmierung
6 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 6 Bekannte Programmierparadigmen III Objekt-Orientierte Programmierung, Konzepte seit 60er, populär seit frühen 90er Objekte als Abstraktionsform, dieses Kapitel Subjekt-Orientierte Programmierung, seit '93 Erweiterung OOP für große Anwendungen und Integration unabhängig entwickelter Software Feature-Orientierte Programmierung (FOP), seit späten 90er Feature als zentrale Abstraktionsform, Kapitel 4ff Speziell für maßgeschneiderte Software
7 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 7 Bekannte Programmierparadigmen IV Aspekt-Orientierte Programmierung, seit '97 Implementierung quer-schneidender Belange durch Aspekte, Kapitel 7 Komponentenorientierte Programmierung, Ende 90er Teilung von Softwaresystemen in Komponenten Wiederverwendung im Großen
8 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 8 Was ist OOP? Objekte als zentrale Abstraktionsform Sprachen: Smalltalk, Eiffel, Java, C++, JavaScript, Object Pascal/Delphi, Self, Modula-2, Objective Caml, Visual Prolog Schlagworte: Objekte, Klassen, Instanzen, Vererbung, Kapselung, Methoden, Attribute, Schnittstellen, statische Methoden, Polymorphie, UML, Wiederverwendung Bildet die Welt besser auf das Programm ab; Objekte sind näher am natürlichen Denken
9 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 9 Java Beispiel interface ICounter { int get(); void inc(); class Counter implements ICounter { private int x = 1; public void inc() { x = x + 1; public int get() { return x; class ResetCounter implements ICounter { private int y = 0; public void set(int x) { y = x; public int get() { return y + 1; public void inc() { this.set(this.get() +1); public void reset() { y = 0; class BackupCounter extends ResetCounter{ private int backup; public void set(int x) { backup = this.get(); super.set(x); public void restore() { this.set(backup); class Test { void tripleinc(icounter x) { x.inc(); x.inc(); x.inc() void main(string[] args) { ICounter c = new BackupCounter(); c.inc(); tripleinc(c); System.out.println(c.get());
10 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 10 OOP Fundamentale Konzepte Polymorphie (polymorphism) Kapselung (encapsulation) Subtypenbeziehung (subtyping) Vererbung (inheritance) Späte Bindung (late binding) Offene Rekursion (open recursion)
11 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 11 Polymorphie Objekt entscheidet selbst welcher Code ausgeführt wird, wenn eine Methode aufgerufen wird Unterschiedliche Objekte können die gleiche Methode unterschiedlich implementieren Methoden bilden die Schnittstelle (Protokoll) des Objektes und abstrahieren von der Implementierung Methodenaufrufe durch Senden von Nachrichten Gegensatz zu ADT, wo alle Instanzen die gleichen Methoden haben
12 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 12 Java Beispiel Polymorphie interface ICounter { int get(); void inc(); class Counter implements ICounter { private int x = 1; public void inc() { x = x + 1; public int get() { return x; class ResetCounter implements ICounter { private int y = 0; public void set(int x) { y = x; public int get() { return y + 1; public void inc() { this.set(this.get() +1); public void reset() { y = 0; Mehrfache Repräsentation Verschiedene Implementierungen eines Objektes class BackupCounter extends ResetCounter{ private int backup; public void set(int x) { backup = this.get(); super.set(x); public void restore() { this.set(backup); class Test { void tripleinc(icounter x) { x.inc(); x.inc(); x.inc() void main(string[] args) { ICounter c = new BackupCounter(); c.inc(); tripleinc(c); System.out.println(c.get());
13 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 13 Kapselung Die interne Repräsentation (der Status) des Objektes ist versteckt, nur Methoden des Objektes dürfen darauf zugreifen (In einigen Sprachen wie Smalltalk erzwungen, anderen wie Java und C++ erlauben individuelles Scoping mit private/public) Von außen kann nur über die Schnittstelle auf das Objekt zugegriffen werden Lokale Änderungen verbessern Lesbarkeit und Wartbarkeit
14 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 14 Java Beispiel Kapselung interface ICounter { int get(); void inc(); class Counter implements ICounter { private int x = 1; public void inc() { x = x + 1; public int get() { return x; class ResetCounter implements ICounter { private int y = 0; public void set(int x) { y = x; public int get() { return y + 1; public void inc() { this.set(this.get() +1); public void reset() { y = 0; class BackupCounter extends ResetCounter{ private int backup; public void set(int x) { backup = this.get(); super.set(x); public void restore() { this.set(backup); class Test { void tripleinc(icounter x) { x.inc(); x.inc(); x.inc() void main(string[] args) { ICounter c = new BackupCounter(); c.inc(); tripleinc(c); System.out.println(c.get()); Kapselung Interne Repräsentation ist hinter einer Schnittstelle versteckt
15 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 15 Subtypenbeziehung Ein Objekt mit Schnittstelle A wird von allen Programmen akzeptiert, die Schnittstelle B mit weniger Methoden erwarten A ist ein Subtyp von B Ermöglicht teile einer Schnittstelle zu ignorieren Erlaubt Code zu schreiben, der verschiedene Objekte manipuliert indem er sich auf wenige gemeinsame Methoden beschränkt (In Java wird Subtyping explizit über benannte Typen/Interfaces implementiert)
16 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 16 Java Beispiel III interface ICounter { int get(); void inc(); class Counter implements ICounter { private int x = 1; public void inc() { x = x + 1; public int get() { return x; class ResetCounter implements ICounter { private int y = 0; public void set(int x) { y = x; public int get() { return y + 1; public void inc() { this.set(this.get() +1); public void reset() { y = 0; Subtyping: Akzeptiert verschiedene Objekte solange sie das ICounter Interface erfüllen class BackupCounter extends ResetCounter{ private int backup; public void set(int x) { backup = this.get(); super.set(x); public void restore() { this.set(backup); class Test { void tripleinc(icounter x) { x.inc(); x.inc(); x.inc() void main(string[] args) { ICounter c = new BackupCounter(); c.inc(); tripleinc(c); System.out.println(c.get());
17 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 17 Vererbung Objekte mit gemeinsamer Schnittstelle haben häufig gemeinsames Verhalten, welches nur einmal implementiert werden soll Die meisten OOP Sprachen, auch Java, nutzen dazu Klassen und Vererbung von Klassen Klassen als Schablonen zur Instantiierung von Objekte Subklassen können neue Methoden hinzufügen oder falls notwendig ausgewählte bestehende Methoden überschreiben Einige Sprachen nutzen Delegation statt Vererbung mittels Klassen
18 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 18 Java Beispiel Vererbung interface ICounter { int get(); void inc(); class Counter implements ICounter { private int x = 1; public void inc() { x = x + 1; public int get() { return x; class ResetCounter implements ICounter { private int y = 0; public void set(int x) { y = x; public int get() { return y + 1; public void inc() { this.set(this.get() +1); public void reset() { y = 0; class BackupCounter extends ResetCounter{ private int backup; public void set(int x) { backup = this.get(); super.set(x); public void restore() { this.set(backup); class Test { void tripleinc(icounter x) { x.inc(); x.inc(); x.inc() void main(string[] args) { ICounter c = new BackupCounter(); c.inc(); tripleinc(c); Vererbung mit Klassen System.out.println(c.get()); Gemeinsame Methoden get, set und reset werden nur einmal implementiert, inc wird überschrieben, restore wird hinzugefügt
19 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 19 Java Beispiel Delegation interface ICounter { int get(); void inc(); Alternative Implementierung mittels Delegation statt Vererbung class Counter implements ICounter { private int x = 1; public void inc() { x = x + 1; public int get() { return x; class ResetCounter implements ICounter { private int y = 0; public void set(int x) { y = x; public int get() { return y + 1; public void inc() { this.set(this.get() +1); public void reset() { y = 0; class BackupCounter { ResetCounter del; BackupCounter(ResetCounter del) { this.del = del; private int backup; public void set(int x) { backup = this.get(); del.set(x); public void restore() { del.set(backup); public int get() { return del.get(); public void inc() { del.inc(); public void reset() { del.reset();
20 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 20 Späte Bindung / Offene Rekursion Methoden eines Objektes können andere Methoden des gleichen Objektes aufrufen (mit Hilfe eines speziellen Schlüsselwortes, wie this oder self) Späte Bindung erlaubt den Aufruf einer Methode in einer Klasse die erst später in einer Subklasse definiert wird Auch bekannt als virtuelle Methoden Übliches Feature vieler OOP Sprachen mit Klassen
21 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 21 Java Beispiel Späte Bindung interface ICounter { int get(); void inc(); Offene Rekursion mit this class Counter implements ICounter { private Späte int x Bindung = 1; public void inc() { x = x + 1; public int get() { return x; class ResetCounter implements ICounter { private int y = 0; public void set(int x) { y = x; public int get() { return y + 1; public void inc() { this.set(this.get() +1); public void reset() { y = 0; class BackupCounter extends ResetCounter{ private int backup; public void set(int x) { backup = this.get(); super.set(x); public void restore() { this.set(backup); class Test { void tripleinc(icounter x) { x.inc(); x.inc(); x.inc() void main(string[] args) { ICounter c = new BackupCounter(); c.inc(); tripleinc(c); System.out.println(c.get());
22 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 22 OOP Konzepte in Java Objekte als Instanzen von Klassen Benannte Klassen und Schnittstellen, explizite Subtypenbeziehung (nominal subtyping) Vererbung von Klassen und Schnittstellen Späte Bindung, da alle Methoden virtuell Packages zur zusätzlichen Modularisierung Zusätzliche (nicht-oop) Features wie statische Methoden
23 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 23 Warum OOP? Modularisierung mittels Objekten und Klassen passt zu vielen Problemen Trennung von Zustand und Verhalten, von Implementierung und Schnittstelle (information hiding) Wiederverwendung durch Kapselung und Vererbung Bildet die Welt besser ab, Objekte sind näher am natürlichen Denken
24 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 24 Beispiel für die restliche Vorlesung Datenstruktur für Graphen Darin sollten gerichtete, gewichtete Graphen gespeichert werden werden können in denen die Knoten (Vertex, Node) und Kanten (Edge) Farben haben können Später wird es Algorithmen geben die auf diesen Graphen arbeiten, z.b. Suche nach dem kürzesten Pfad Hier zunächst objekt-orientiertes Design und eine erste Implementierung
25 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 25 Objekt-Orientierter Entwurf Welche Objekttypen brauchen wir? Knoten (Node) Kanten (Edge) Den Graph selber Gewichte? Farben? Welche Funktionalität? Hinzufügen von Knoten zum Graphen Hinzufügen von Kanten Setzen von Kantengewichten und Farben Ausgeben des Graphen (Logging)
26 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 26 Objekt-Orientierter Entwurf in UML Graph 1 +addedge() +addnode() +print() 1 * * Node -name +print() * -startswith 1 * 1 * -endswith Edge - +print() * * 1 Weight +print() 1 Color 1 +setdisplaycolor ()
27 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 27 Erste Implementierung class Graph { Vector nv = new Vector(); Vector ev = new Vector(); Edge addedge(node n, Node m, Weight w) Edge e = new Edge(n, m, w); addnode(n); addnode(m); ev.add(e); return e; void addnode(node n) { nv.add(n); void print() { for(int i = 0; i < ev.size(); i++) { ((Edge)ev.get(i)).print(); class Color { static void setdisplaycolor(color c) {... class Weight { void print() {... class Node { int id = 0; Color color = new Color(); void print() { Color.setDisplayColor(color); System.out.print(id); class Edge { Node a, b; Color color = new Color(); Weight weight = new Weight(); Edge(Node a, Node b, Weight w) { this.a = a; this.b = b; this.weight = w; void print() { Color.setDisplayColor(color); a.print(); b.print(); weight.print(); Es folgen noch viele alternative Implementierungen im Verlauf der Vorlesung :-)
28 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 28 Wiederverwendung Vererbung und Delegation erlauben Wiederverwendung von Code-Fragmenten, wenn diese entsprechend entworfen wurden Moderne Ansätze für Wiederverwendung in OOP Frameworks Design Pattern Komponenten... können auch für Produktlinien verwendet werden, mehr dazu später in Kapitel 9a
29 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 29 Frameworks Menge abstrakter und konkreter Klassen Repräsentieren eine abstrakte Struktur, die für einen bestimmten Zweck erweitert werden kann (Anpassung von Software) Wiederverwendbare Lösung für eine Problemfamilie in einer Domäne Punkte an denen Erweiterungen vorgesehen sind: Hot Spots Umkehrung der Kontrolle, das Framework bestimmt die Ausführungsreihenfolge Hollywood Prinzip: Don t call us, we ll call you.
30 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 30 Eclipse JDT WTP SAPinst Workbench Platform Ant IDE Cheat Sheets Search Debug Team Help Update Views Resources Console Editors Forms Text Editors Compare Build Debug Edit JUnit Refactor Launch J2EE Web Control Items Component Table Script Messages Resourcepool Dialogs Meta-Dialogs Prerequisite C. Rich Client Platform Workbench Help JFace Core Runtime OSGi SWT
31 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 31 Entwurfsmuster Engl. design patterns, Gamma et al Wiederverwendung durch Identifikation und Beschreibung von Lösungen für typische Entwurfsprobleme Muster = Problembeschreibung + Lösungsidee Kein Wiederverwendung von Code
32 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 32 Ein Entwurfsproblem Row 1 3 Diagramme (manipulierbar) Row 2 0 Row Row 1 Row 2 Row 3 Row 4 Row 3 Synchronisation Datenstruktur für Messergebnisse Messergebnisse
33 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 33 Komponenten Abgeschlossene Implementierungseinheit mit Schnittstelle (black box), bietet ein oder mehrere Dienste an Wird zusammen mit anderen Komponenten auch von anderen Herstellern zusammengesetzt zu Software Systemen (Komposition) Einzeln vermarktbar Kontext (z.b. J2EE, Struts Framework) und Abhängigkeiten explizit spezifiziert Klein genug für Erzeugung und Wartung in einem Stück, groß genug um sinnvolle Funktion bieten zu können
34 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 34 Beispiel Komponenten Webshop Bestellen Großhändler Kunde anlegen Adresse ändern Kundenverwaltung Rechnung drucken Reportgenerator Einkäufe Katalog verwalten Webshop Rechnung schreiben Finanzbuchhaltung Entnehmen Einlagern Lagerhaltung
35 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 35 Zusammenfassung Es gibt eine Vielzahl Programmierparadigmen OOP ist sehr populär Vielgestaltigkeit, Kapslung, Vererbung Java, Eclipse Wiederverwendung mittels Vererbung, Delegation, Frameworks, Komponenten oder Entwurfsmuster
36 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 36 Grenzen von OOP Ausblick Neue Programmierkonzepte und Paradigmen Feature-Orientierte Programmierung Subjekt-Orientierte Programmierung Aspekt-Orientierte Programmierung
37 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 37 Literatur OOP B. Meyer, Object-oriented Software Construction, Prentice Hall, 1997 [OOP Generell] B. Pierce. Types and Programming Languages, Chap. 18, MIT Press, 2002 [5 Fundamentale Konzepte OOP]
38 Sven Apel, Christian Kästner Moderne Programmierparadigmen Folie 38 Literatur Wiederverwendung R. Johnson and B. Foote, Desiging reusable classes, Journal of Object-Oriented Programming, 1(2):22-35, 1988 [OOP Wiederverwendung, insb. Frameworks] E. Gamma, R. Helm, R. Johnson, J. Vlissedes, Design Patterns, Addison-Wesley, 1994 [Standardwerk Entwurfsmuster] C. Szyperski: Component Software: Beyond Object- Oriented Programming. Addison-Wesley, 1998 [Standardwerk Komponentenorientierte Softwareentwicklung]
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
Daniel Warneke [email protected] 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke [email protected] 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
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
Prinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
Einführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
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
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
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015
Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum
Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
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:
Objektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
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
Objektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9
Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung
Übung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ
IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler
Java Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
Große Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 [email protected] http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
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
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:
4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
Objektorientiertes JavaScript
Objektorientiertes JavaScript Christoph Fabritz [email protected] http://goo.gl/jzqxnw Inhalt JavaScript Objektorientierung OO in JavaScript Literatur JavaScript Interpretiert / gescriptet Dynamische
Softwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme
Softwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme Christian Kästner (Universität Marburg) Sven Apel (Universität Passau) Gunter Saake (Universität Magdeburg) 1 Application Eng. Domain
Grundkonstrukte der Objektorientierung in Java, C# und C++
Grundkonstrukte der Objektorientierung in Java, C# und C++ 2 Viele Patterns basieren auf einer Kombination einiger zentraler Modellierungskonstrukte, namentlich auf Schnittstellen- und Implementierungsvererbung
Objektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
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
Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Analyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2
Prof. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
Analyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2
Design Patterns 2. Model-View-Controller in der Praxis
Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
Themen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
Test-Driven Design: Ein einfaches Beispiel
Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms
U08 Entwurfsmuster (II)
U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange
Abschnitt 9: Schnittstellen: Interfaces
Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung
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...............................
Zählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
WORKFLOW DESIGNDOKUMENT
Architectural Design WORKFLOW DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 2 Gruppe 86 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289] Gruppe 86 Seite
Vererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
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
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,
Application Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
Arbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
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
Grundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
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
Einführung in die Informatik Tools
Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht
PHP Aufbaukurs. Tag 3. PHP5 & Klassen
PHP Aufbaukurs Tag 3. PHP5 & Klassen Organisatorisches 2 Igor Olkhovskiy Dr. Dipl.- Ing. Kontakt: [email protected] PHP Aufbaukurs 19.09.2006 Folie 2 PHP. OOP. Geschichte 3 PHP/FI ( PHP 1
Objektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
RMeasy das SAP IS U Add On für Versorgungsunternehmen. Optimieren Sie Ihre Prozesse in Kundengewinnung und Kundenbindung.
Beschreibung Wenn Sie: mit ECC 6.0 und IS-U auf die integrierte Systemlösung der SAP setzen und zur Gewinnung neuer und Bindung vorhandener Kunden eine gleichfalls integrierte Lösung suchen und eine Produkt
Typumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
Funktionale Programmierung (in Clojure)
Funktionale Programmierung (in Clojure) Einführung Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Wintersemester 2014/15 Übersicht Paradigmen von Programmiersprachen Paradigmen von Programmiersprachen
OO Softwareentwicklung
OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung
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
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
WebService in Java SE und EE
Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.
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
Grundlagen der Informatik für Ingenieure I
3 Einführung in das objektorientierte Programmier-Paradigma 3 Einführung in das objektorientierte Programmier-Paradigma 3.1.1 Top-down structured design 3.1.2 Data-driven design 3.1.3 Object-oriented design
Client-Server Beziehungen
Ersetzbarkeit, Client-Server Beziehungen 182.132 VL Objektorientierte Programmierung Peter Puschner nach Folien von Franz Puntigam, TU Wien Überblick Ersetzbarkeit Kovarianz, Kontravarianz, Invarianz Client-Server
Objektorientierung: Klassen und Objekte
Vorlesung und Übung Universität Paderborn Wintersemester 2015/2016 Dr. Peter Pfahler Objektorientierung: Klassen und Objekte EWS, WS 2015/16, Pfahler L-1 Objektorientierung behandelt in "Einführung in
Client-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung
Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:
8 Design Patterns. Events
8 Design Patterns. Events Jörn Loviscach Versionsstand: 28. März 2015, 19:13 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work
Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.
Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil
Dokumentation des Projektes Tic Tac Toe
Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.
Übungen zu Softwaretechnik
Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte
Testen mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
Applet Firewall und Freigabe der Objekte
Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable
Factory Method (Virtual Constructor)
Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte
Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten
Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere
Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.
Eclipse WSDL-Editor Übersicht Eclipse Foundation Eclipse Plugins & Projects Eclipse Ganymede Simultaneous Release Web Tools Platform Projekt WSDL Editor Bug #237918 Eclipse Foundation Was ist Eclipse?
Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter
Prof. Dr. Dr. h.c. Manfred Broy Sommersemester Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Einführung in die Softwaretechnik Übung 6: Feinentwurf Aufgabe 17: Entwurfsmuster
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
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
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
Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2
Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??
09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
Vorlesung Programmieren
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
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:
Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services
Themen Web Services und SOA Wer kennt den Begriff Web Services? Was verstehen Sie unter Web Services? Die Idee von Web Services Ausgangspunkt ist eine (evtl. schon bestehende) Software Anwendung oder Anwendungskomponente
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,
AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
Scala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
EINSATZ VON DESIGN PATTERNS BEI DER ENTWICKLUNG DES CSM-FRAMEWORKS REMARC
EINSATZ VON DESIGN PATTERNS BEI DER ENTWICKLUNG DES CSM-FRAMEWORKS REMARC 10. Informatik-Tag, HTWM Dipl.-Inf. Chris Hübsch, ARC Solutions GmbH Inhalt 1. ARC Solutions 2. REMARC 3. Design Patterns 4. Patterns
Design by Contract with JML
Thema: Design by Contract with JML Proseminar: Assertions Verfasser: Literatur: Betreuer: Natalya Moriz Gary T.Leavens and Yoonsik Cheon: Design by Contract with JML Prof. Dr. Heike Wehrheim 1 Inhalt DBC
Gebundene Typparameter
Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte
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
Informatik 11 Kapitel 2 - Rekursive Datenstrukturen
Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange
EndTermTest PROGALGO WS1516 A
EndTermTest PROGALGO WS1516 A 14.1.2016 Name:................. UID:.................. PC-Nr:................ Beachten Sie: Lesen Sie erst die Angaben aufmerksam, genau und vollständig. Die Verwendung von
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
Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams. Lothar Wendehals. Universität Paderborn
Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams Lothar Wendehals 6. Workshop Software-Reengineering Bad Honnef, 3. - 5. Mai 2004 Motivation Unterstützung des
