Design Patterns und C#

Größe: px
Ab Seite anzeigen:

Download "Design Patterns und C#"

Transkript

1 UML - Teil2 Design Patterns und C# Claude Eisenmann 4. August 2005

2 Inhaltsverzeichnis Rückblende Design Patterns Creational Patterns Structural Patterns Behavioural Patterns Architectural Patterns Umwandlung von UML nach C# Statische Struktur Beziehungen Interaktion Beispiel

3 Rückblende

4 Diagramme der UML 2 Erinnerung

5 Erinnerung

6 Erinnerung

7 Erinnerung

8 Erinnerung

9 Design Patterns

10 Design Patterns Einleitung Definition Ein Design Pattern (oder Entwurfsmuster) beschreibt eine in der Praxis erfolgreiche, generische Lösung für ein mehr oder weniger häufig auftretendes, wiederkehrendes Entwurfsproblem und stellt damit eine wieder verwendbare Vorlage zur Problemlösung dar.

11 Design Patterns Einleitung Historie Der Architekt Christopher Alexander hatte in den 70er Jahren eine Sammlung von Entwurfsmustern zusammengestellt. In der Architektur hat sich diese Idee jedoch bei weitem nicht so verbreitet wie später in der Softwareentwicklung. Christopher Alexander sagte: patterns are solutions to a problem in a context Christopher Alexander ist der Vater der Design Patterns

12 Design Patterns Einleitung Was sind Design Patterns? Abstraktion und erneuter Einsatz von gutem OO-Design Dokumentationsmittel Erklären von Entwurfsentscheidungen Benennen und Katalogisieren von häufig auftretenden Entwurfsstrukturen Gemeinsames Vokabular und Kommunikationsmedium (da man abstrakt über eine Softwarestruktur sprechen kann) Unabhängig von der konkreten Programmiersprache Technik für Software-Architektur

13 Design Patterns Einleitung Was sie NICHT sind Ein Ziegelstein: ein Design Pattern ist von seinem Nutzungskontext abhängig Eine Regel: ein Design Pattern passt sich nicht mechanisch an Eine Methode: hilft nicht bei der Entscheidung, denn: ein Design Pattern ist die Entscheidung Neu: bereits Lao-Tzu (-550 v.chr.) arbeitete mit Patterns

14 Design Patterns Einleitung GoF GoF (kommt von Gang of Four) steht für Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides. Das GoF-Buch ist ein Standardwerk im Bereich Software Engineering über Entwurfsmuster. Design Patterns Elements of Reusable Object-Oriented Software von E. GAMMA, R. HELM, R. JOHNSON,J. VLISSIDES ISBN

15 Design Patterns Einleitung Dokumentation Die Beschreibung eines Entwurfsmusters durch die GoF folgt diesem Schema: Eigenschaft Name Zweck Synonyme Problem Lösung Alle Patterns haben eindeutige Namen Zweck des Patterns Beschreibung Andere bekannte Namen des Patterns (Hinter-)Gründe für den Einsatz des Patterns Beschreibung der allgemeinen Struktur des Musters

16 Design Patterns Einleitung Eigenschaft Beteiligte Akteure Zusammenspiel Konsequenzen Implementierung Beispielcode Praxiseinsatz Querverweise Beschreibung Klassen, die an dem Muster beteiligt sind Zusammenspiel der beteiligten Klassen Welche Vor- und Nachteile gibt es? Praxisrelevante Tipps, Tricks und Techniken sowie Warnung vor Fehlern, die leicht passieren können Quellcodefragment, das den Einsatz des Patterns zeigt Wo wird das Muster bereits eingesetzt? Wie spielt das Muster mit anderen Mustern zusammen?

17 Design Patterns Einleitung Beispiel: Eigenschaft Beschreibung Name Zweck Problem Lösung Beteiligte Akteure Zusammenspiel Konsequenzen Praxiseinsatz Wartesaal Zweck des Patterns Wir müssen warten Immer gemütlich und angenehm Stuhl, Tisch, Magazin, Aktive oder passive Wartezeit? Ablenkung? Flughafen, Zahnarzt

18 Design Patterns Einleitung Klassifizierung Die GoF klassifiziert die Patterns (insgesamt 23) wie folgt: Creational Patterns Abstract Factory, Builder, Prototyp, Creational Structural Patterns Adapter, Bridge, Composite, Structural Behavioral Patterns Chain of Response, Command, Iterator, Behavioral

19 Design Patterns Creational Patterns Creational Name Immer relevant Häufig relevant Selten relevant AbstractFactory Builder FactoryMethod Prototyp Singleton

20 Design Patterns Creational Abstract Factory Die abstract factory findet Anwendung, wenn ein System unabhängig von der Art der Erzeugung seiner Produkte arbeiten soll ein System mit einer oder mehrerer Produktfamilien konfiguriert werden soll eine Gruppe von Produkten erzeugt und gemeinsam genutzt werden soll in einer Klassenbibliothek die Schnittstellen von Produkten ohne deren Implementierung bereitgestellt werden sollen

21 Design Patterns Abstract Factory Creational

22 Design Patterns Creational Builder Entwickler verwenden den Builder, wenn zu einem komplexen Objekt unterschiedliche Darstellungen existieren sollen die Konstruktion eines komplexen Objekts unabhängig von der Erzeugung der Bestandteile sein soll

23 Design Patterns Builder Creational

24 Design Patterns FactoryMethod Creational Die factory method findet Anwendung, wenn eine Klasse die von ihr zu erzeugenden Objekte nicht erkennen kann die Unterklassen bestimmen, welche Objekte erzeugt werden

25 Design Patterns FactoryMethod Creational

26 Design Patterns Creational Prototyp Ein Prototyp findet Anwendung, wenn die Erzeugung weiterer Instanzen einer Klasse teuer ist und sich die Objekte ähneln die zu instanzierenden Klassen erst zur Laufzeit bekannt sind eine Hierarchie von factories parallel zu einer Hierarchie von Produkten vermieden werden soll die Objekte einer Klasse nur wenige Zustandskombinationen einnehmen können

27 Design Patterns Prototyp Creational Dieses Muster kommt hauptsächlich dann zum Einsatz, wenn die Klassen der zu erzeugenden Objekte erst zur Laufzeit spezifiziert werden, z.b. durch dynamisches Laden.

28 Design Patterns Creational Singleton Das Einzelstück findet Verwendung, wenn nur ein Objekt zu einer Klasse existieren darf und ein einfacher Zugriff auf dieses Objekt benötigt wird das einzige Objekt durch Unterklassenbildung spezialisiert werden soll Anwendungsbeispiele sind: ein zentrales Protokoll-Objekt, das Ausgaben in eine Datei schreibt Druckaufträge, die zu einem Drucker gesendet werden, sollten nur in einen einzigen Puffer geschrieben werden

29 Design Patterns Structural Patterns Structural Name Immer relevant Oft relevant Selten relevant Adapter Bridge Composite Decorator Facade Flyweight Proxy

30 Design Patterns Structural Adapter Der Adapter findet Anwendung, wenn eine existierende Klasse verwendet werden soll, deren Schnittstelle nicht der benötigten Schnittstelle entspricht Im.NET Framework wird das Adapter Pattern in jeder RCW (Runtime Callable Wrapper) verwendet System.String wird durch die RCW in BSTR (für COM) umgewandelt HRESULT (wenn ein Fehler in der COM Bibliothek aufgetreten ist) wird in System.Exception umgewandelt

31 Design Patterns Adapter Structural

32 Design Patterns Bridge Structural Problem: normalerweise wird eine Implementierung durch Vererbung der Abstraktion realisiert. Dieses kann jedoch dazu führen, dass in der Vererbungshierarchie sowohl Implementierungen als auch andere abstrakte Klassen zu finden sind. Dieses macht die Vererbungshierarchie unübersichtlich und schwer wartbar

33 Design Patterns Bridge Structural Lösung: werden die abstrakten Klassen und die Implementierungen in zwei verschiedenen Hierarchien verwaltet, gewinnt die Implementierung an Übersichtlichkeit und zweitens wird die Anwendung unabhängig von dieser

34 Design Patterns Bridge Structural Eine Brücke findet Anwendung, wenn Abstraktion und Implementierung erweiterbar sein sollen eine dauerhafte Verbindung zwischen Abstraktion und Implementierung verhindert werden soll Änderungen der Implementierung ohne Auswirkungen für den Klienten sein sollen die Implementierung vor dem Klienten verborgen bleiben soll die Implementierung von verschiedenen Klassen gleichzeitig genutzt werden soll

35 Design Patterns Bridge Structural

36 Design Patterns Structural Composite Ein Kompositum findet Anwendung, wenn Implementierung von Teil-Ganzes-Hierarchien erfolgt Die Unterschiede zwischen einzelnen und zusammengesetzten Objekten verborgen werden sollen

37 Design Patterns - Composite Structural

38 Design Patterns Structural Decorator Die Instanz eines Decorators wird vor die zu dekorierende Klasse geschaltet Der Decorator hat die gleiche Schnittstelle wie die zu dekorierende Klasse Aufrufe an den Decorator werden dann verändert oder unverändert weitergeleitet (Delegation) oder sie werden komplett in Eigenregie verarbeitet Der Decorator ist dabei "unsichtbar", da der Aufrufende gar nicht mitbekommt, dass ein Decorator vorgeschaltet ist

39 Design Patterns Decorator Structural

40 Design Patterns Structural Facade Wenn ein Subsystem viele technisch orientierte Klassen enthält, die selten von außen verwendet werden, hilft es, eine Fassade zu verwenden Die Fassade ist eine Klasse mit ausgewählten Methoden, die eine häufig benötigte Untermenge an Funktionalität des Subsystems umfasst Sie vereinfacht den Umgang mit dem Subsystem

41 Design Patterns Facade Structural

42 Design Patterns Facade Structural Facade Adapter Gibt es bereits existierende Klassen? Gibt es Vorgaben für eine Schnittstelle? Muss Objekt polymorph verwendet werden können? Ist eine vereinfachte Schnittstelle notwendig? Ja Nein Nein Ja Ja Ja Möglich Nein Fazit: das Facade Pattern vereinfacht eine Schnittstelle, während ein Adapter eine bereits bestehende Schnittstelle in eine gewünschte konvertiert

43 Design Patterns Flyweight Structural Das Flyweight Pattern findet Anwendung, wenn es eine große Anzahl Objekte gibt, so dass alleine schon die Anzahl zu Problemen führt ein Teil des Zustandes dieser Objekte kann in den Kontext ausgelagert werden nach der Entfernung des Zustandes reduziert sich die Anzahl verschiedener Objekte auf ein überschaubares Maß

44 Design Patterns Flyweight Structural

45 Design Patterns Structural Proxy Ein Remote-Proxy ist ein lokaler Stellvertreter für ein Objekt in einem anderen Adressraum. Er wird beispielsweise in Netzwerkanwendungen verwendet Ein virtueller Proxy dient der Verzögerung teurer Operationen auf den Zeitpunkt des tatsächlichen Bedarfs Ein Schutzproxy setzt Zugriffsrechte auf ein Objekt durch Proxies kommen ebenfalls zum Einsatz, um beim eigentlichen Zugriff auf das Objekt weitere Operationen zu binden

46 Design Patterns Proxy Structural

47 Design Patterns Behavioral Behavioral Patterns Name Immer relevant Häufig relevant Selten relevant Chain of responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method

48 Design Patterns Chain of Responsibility Behavioral Vermeide die Kopplung des Auslösers einer Anfrage mit seinem Empfänger, indem mehr als ein Objekt die Möglichkeit erhält, die Aufgabe zu erledigen. Verkette die empfangenden Objekte und leite die Anfrage an der Kette entlang, bis ein Objekt sie erledigt

49 Design Patterns Command Behavioral Packt einen Befehl in ein Objekt. Dies ermöglicht es, Klienten mit verschiedenen Anfragen zu parametrisieren, Operationen in eine Schlange zu stellen, ein Logbuch zu führen und Operationen rückgängig zu machen

50 Design Patterns Behavioral Interpreter Überführung einer Grammatik in Objekte zur Konstruktion eines Interpreters. Dieser interpretiert den Kontext.

51 Design Patterns Behavioral Iterator Ermöglicht den sequentiellen Zugriff auf die Elemente eines zusammengesetzten Objekts, ohne seine Repräsentation offen zu legen

52 Design Patterns Iterator Behavioral Mit dem.net Framework wird regelmäßig dieses Pattern in der Praxis benutzt: int[ ] values = new int[ ] {1, 2, 3, 4, 5}; foreach(int i in values) { Console.Write(i.ToString() + " "); } = int[] values = new int[] {1, 2, 3, 4, 5}; IEnumerator e = ((IEnumerable)values).GetEnumerator(); while(e.movenext()) { Console.Write(e.Current.ToString() + " "); }

53 Design Patterns Mediator Behavioral Definiert ein Objekt, welches das Zusammenspiel einer Menge von Objekten in sich vereint. Vermittler verhindern, dass Objekte direkt aufeinander Bezug nehmen (lose Kopplung). Sie ermöglichen, das Zusammenspiel der Objekte von ihnen unabhängig zu variieren

54 Design Patterns Behavioral Memento Erfasst und stellt den internen Zustand eines Objektes zur Verfügung, so dass das Objekt später in diesen Zustand zurückversetzt werden kann

55 Design Patterns Observer Behavioral Definiert eine 1-zu-n-Abhängigkeit zwischen Objekten, so daß die Änderung des Zustands eines Objekts dazu führt, daß alle abhängigen Objekte benachrichtigt und automatisch aktualisiert werden

56 Design Patterns Observer Behavioral Im.NET Framework Die Events sind die Subjects Die Delegates sind die Observers public delegate void UpdateDelegate(); public class Subject { public Subject(){} } public UpdateDelegate UpdateEvent; public void RaiseEvent1() { UpdateDelegate ev = UpdateEvent; if (ev!= null) ev(); } public class Observer { public Observer(Subject thesubject) { thesubject.updateevent += new UpdateDelegate(Handle); } } public void Handle() { Console.WriteLine("Observer - Update"); }

57 Design Patterns State Behavioral Ermöglicht es einem Objekt, sein Verhalten zu ändern, wenn sein interner Zustand sich ändert. Es wird so aussehen, als ob das Objekt seine Klasse gewechselt hat

58 Design Patterns Behavioral Strategy Definiert eine Familie von Algorithmen, erfasst jeden einzelnen und macht sie austauschbar. Das Strategiemuster ermöglicht es, den Algorithmus unabhängig von den ihn nutzenden Klienten zu variieren Im.NET Framework: int[] alist = new int[] {5, 8, 47, 3, 789}; alist.sort(anewdefinedcompared);

59 Design Patterns Strategy Behavioral

60 Design Patterns Behavioral Template Method Definiert das Skelett eines Algorithmus in einer Operation und delegiert einzelne Schritte an Unterklassen. Die Verwendung einer Template Method ermöglicht es Unterklassen, bestimmte Schritte eines Algorithmus zu überschreiben, ohne seine Struktur zu verändern

61 Design Patterns Template Method Behavioral

62 Design Patterns Behavioral Visitor Erfasst eine auf den Elementen einer Objektstruktur auszuführende Operation als ein Objekt. Das Besuchermuster ermöglicht es, eine neue Operation zu definieren, ohne die Klassen der von ihr bearbeiteten Elemente zu verändern

63 Design Patterns Visitor Behavioral

64 Design Patterns Architectural Architectural Patterns Name Immer relevant Häufig relevant Selten relevant MVC 3-Tier

65 Design Patterns Architectural MVC MVC(Model Viewer Controller) ist ein sehr bekanntes Pattern. Dahinter verbirgt sich, daß allgemein beim Arbeiten mit Software drei Blöcke definiert werden, die aus architektonischen Gründen strikt voneinander getrennt werden sollten: Model: steht für das Datenmodell, also die Information und die Struktur, die bearbeitet wird Viewer: hat nur die Aufgabe, den aktuellen Zustand des Models darzustellen. Er trennt die Oberflächengestaltung von den Daten Controller: ist der Teil, der nach einer Benutzeraktion eine Auswertung der Eingaben vornimmt und ggf. die Funktionalität der Applikation aufruft, um das Model zu manipulieren (z.b. neues Objekt anlegen, Daten ändern oder löschen etc.)

66 Design Patterns - MVC Architectural

67 Design Patterns Architectural 3-Tier Presentation Layer: accepting user input and generating user output - the User Interface (UI) Business Layer: the processing of business rules and task-specific behavior Data Access Layer: communicating with the physical database using the APIs provided by that database engine

68 Design Patterns 3-Tier Architectural von Microsoft von Microsoft

69 Design Patterns Methode Die guten Objekten finden: die Patterns schlagen Abstraktionen vor, die nicht ins Auge fallen Composite Strategy höhere Flexibilität und erneute Einsatzmöglichkeit State

70 Design Patterns Methode Richtige Granularität auswählen: was soll gruppiert und was getrennt werden? Facade Flyweigth Abstract Factory Builder

71 Design Patterns Methode Die Schnittstelle spezifizieren: was gehört zum Objekt und was nicht? Memento: speichert die Zustände Decorator: steigert die Schnittstelle Proxy: delegierte Schnittstelle Visitor: fasst die Schnittstellen zusammen Facade: versteckt die komplexe Struktur eines Objekts

72 Design Patterns Vorteile Zusammenfassung Gemeinsames Vokabular Kapitalisieren von Erfahrung Höhere Abstraktionsebene für eine qualitätssichere Software Architektur Reduziert die Komplexität Richtlinien/Lösungskatalog

73 Design Patterns Zusammenfassung Nachteile Bemühen um Synthese beim: wieder Erkennen, Abstrahieren, Lehre, Erfahrung die Design Patterns lösen sich im Source Code auf Menge ein paar funktionieren ähnlich viel Verschiedene ein paar Design Patterns basieren auch auf anderen

74 Design Patterns Zusammenfassung Die Design Patterns sind wie Prosa: Man verwendet sie, ohne dass es einem bewusst ist. Aber wenn es einem dann bewusst wird, denkt man intensiv darüber nach. Claude Eisenmann, August 2005

75 Umwandlung in C# C#

76 Umwandlung in C# Statische Struktur Statische Struktur Das Klassendiagramm beschreibt die statische Struktur der Objekte (Klassen) in einem System sowie ihre Beziehungen untereinander. Die statische Struktur besteht aus: Klassen Schnittstellen Attributen Operationen

77 Umwandlung in C# Statische Struktur UML C# Klasse public class Catalog { }. Abstrakte Klasse abstract public class Person { }. Schnittstelle Package interface IDeletable { void Delete(); } namespace Library { }

78 Umwandlung in C# Statische Struktur UML C# Attribute Operationen public class Person { } protected string mname; private string mfirstname; public int BirthDate; private static mmajorityage =18; public class Person { } public abstract int Calculate(); public static void SetMajAge(int } public int Age { get { return } theage) {

79 Umwandlung in C# Beziehungen Die Klasse wird als Rechteck dargestellt. Die Klassen werden durch Linien miteinander verbunden. Diese Linien stellen verschiedene Beziehungstypen dar: Vererbung: stellt eine Verallgemeinerung von Eigenschaften dar: Spezialisierung, Generalisierung Abhängigkeit: Beziehung zwischen zwei Modellelementen, die zeigt, dass eine Änderung in dem einen (unabhängigen) Element eine Änderung in dem anderen (abhängigen) Element notwendig macht

80 Umwandlung in C# Beziehungen Assoziation: allgemeine Beziehung zwischen zwei Klassen, keine weiteren Aussagen über konkrete Realisierung Aggregation: Ist-Teil-von-Beziehung, kann noch um Multiplizitäten erweitert werden Komposition: stärkere Form der Aggregation, realisiert physikalisches Enthaltensein Assoziationsklasse: ein Modellelement, das sowohl über die Eigenschaften einer Klasse als auch über die einer Assoziation verfügt

81 Umwandlung in C# Beziehungen UML C# public class Person { } Vererbung Abhängigkeit public class Customer : Person { } Guid mid;... class Customer { }... public void Print() { } Printer aprinter = PrinterFactory.getInstance(); aprinter.print(this.name);...

82 Umwandlung in C# Beziehungen UML C# public class A1 { } private B1 mb1; public class A2 { } private B2[ ] mb2; Assoziation public class A3 { } private ArrayList B3; public class A4 { } private HashTable B4;

83 Umwandlung in C# Beziehungen UML C# Rolle Rolle public class Man { } private Womam mwife; Assoziation private class Woman { } private Man mhusband; public class Person { } private Person mchef;

84 Umwandlung in C# Beziehungen UML C# Agregation Genau das gleiche wie für die Assoziation Komposition public class Book { private string mtitle; private class Page {. } }

85 Umwandlung in C# Beziehungen UML C# public class Job { private string mtitle; Assoziationsklasse private float msalary; private Company memployer; } private Person memploye;

86 Umwandlung in C# Interaktion UML C# public class Object1 { } int aint = mobject2.dosomething1(); mobject2.dosomething2(987); public class Object2 { public int DoSomething1() { } } public void DoSomething2(int theparam) { }

87 Umwandlung in C# Statische Struktur

88 Beispiel

89 Beispiel

90 Beispiel

91 Beispiel Strategy Die Daten werden durch die FolderStrategy oder FileTypeStrategy gesammelt

92 Beispiel Observer Beziehung zwischen den Subject (ExplorationStrategy) und den Observer (ExplorationObserver) Wenn die Exploration fertig ist, wird die Anzeige aktualisiert

93 Beispiel Adapter ListView muss sich nach der Suche aktualisieren Die ListViewAdapter Klasse leitet von der.net ListView ab und hat die Signatur der ExplorationObserver Klasse

94 Beispiel Template Method Die Template Method ist eine Methode, die abstrakte Methoden aufruft Die abgeleiteten Klassen überschreiben die abstrakten Methoden

95 Beispiel Singleton SystemIcons ist ein Puffer aller System Icons IconReader liest die Icons vom System, ohne sie zu lagern

96 Beispiel Wrapper Die Methoden, die Icons lesen, sind in APIs implementiert Der IconReader versteckt die komplexen Aufrufe der APIs Methoden

97 Bücher Professional UML with Visual Studio.NET von Tony Loton, Kevin McNeish, Andrew Filev ISBN Design Patterns Explained: A New Perspective on Object-Oriented Design von Alan Shalloway, James Trott ISBN UML Distilled 3/e Von Martin Fowler ISBN

98 Webseiten Wikipedia : Entwurfmuster Die Internetseiten von dem UML 2 Glasklar Buch Entwurfmuster: Ausarbeitung von Thomas Pötsch

99 Kontakt Claude Eisenmann Technischer Architekt

100 Frage Antwort

Daniel Warneke [email protected] 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 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

Mehr

Behavioral Patterns. Seminar Software-Entwurf WS 04/05. Przemyslaw Dul

Behavioral Patterns. Seminar Software-Entwurf WS 04/05. Przemyslaw Dul Behavioral Patterns Seminar Software-Entwurf WS 04/05 Przemyslaw Dul Gliederung Design Pattern (Wiederholung) Einordnung Übersicht über die Kategorien: Creational,Structural,Behavioral Übersicht über die

Mehr

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

Mehr

Überblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio

Überblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio Entwurfsmuster Eine Einführung Botond Draskoczy Marcus Vitruvius Pollio Überblick Historie, Literatur Das Flugapparat-Bildschirmschoner-Projekt (FBP) Das internetbasierte Solar-Netzwerk (SNW) Zusammenfassung

Mehr

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

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Factory Method (Virtual Constructor)

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

Mehr

Software-Entwurfsmuster

Software-Entwurfsmuster Software-Entwurfsmuster Prinzip von Entwurfsmustern und einige elementare Beispiele Malte Spiess [email protected] Seminar Bildanalyse und Simulation mit Java im WS 2003/2004 Universität Ulm

Mehr

Design Patterns 2. Model-View-Controller in der Praxis

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

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

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

Mehr

Arbeiten mit UMLed und Delphi

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

Mehr

Analyse und Modellierung von Informationssystemen

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

Mehr

Vermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D

Vermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D Vermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D 1 1. EINLEITUNG... 3 2. ZWECK... 3 3. MOTIVATION... 3 4. ANWENDBARKEIT... 6 5. STRUKTUR... 6 6. TEILNEHMER... 7 7. INTERAKTION...

Mehr

Analyse und Modellierung von Informationssystemen

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

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

8 Design Patterns. Events

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

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

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

Mehr

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Design Pattern - Strukturmuster CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Agenda Einleitung Strukturmuster Fassade Model View Controller Vergleich 2 Einleitung Strukturmuster

Mehr

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

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

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

Mehr

Eine Anwendung mit InstantRails 1.7

Eine Anwendung mit InstantRails 1.7 Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen

Mehr

Objektorientiertes Software-Engineering

Objektorientiertes Software-Engineering Objektorientiertes Software-Engineering Vorlesung VIII Inhalt der Vorlesung Wiederholung Vorlesung VII Factory Method Observer s Übung Vorstellung des (Gruppe Jukebox) Folie 2 Definiert ein Objekt zur

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

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/

Mehr

Software-Architektur Design Patterns

Software-Architektur Design Patterns Design Patterns Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides: Design Patterns:

Mehr

Structural Patterns. B. Sc. Andreas Meißner

Structural Patterns. B. Sc. Andreas Meißner Structural Patterns B. Sc. Andreas Meißner Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Systeme, Universität Hannover 11/16/2004 Gliederung 1. Wiederholung Entwurfsmuster

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Ü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

Mehr

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:

Mehr

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

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

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

Mehr

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

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

Mehr

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

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

Mehr

3. Konzepte der objektorientierten Programmierung

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

Mehr

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

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

5. Abstrakte Klassen

5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

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

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Objektorientierte Programmierung OOP

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

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Design Patterns. (Software-Architektur) Prof. Dr. Oliver Braun. Letzte Änderung: :12. Design Patterns 1/26

Design Patterns. (Software-Architektur) Prof. Dr. Oliver Braun. Letzte Änderung: :12. Design Patterns 1/26 Design Patterns (Software-Architektur) Prof. Dr. Oliver Braun Letzte Änderung: 11.07.2017 15:12 Design Patterns 1/26 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides:

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger [email protected] WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Entwurfsprinzip. Entwurfsprinzip

Entwurfsprinzip. Entwurfsprinzip Die Komposition (hat ein Beziehung) ist der Vererbung (ist ein Beziehung) vorzuziehen. Es können Familien von Algorithmen in eigenen Klassensätzen gekapselt werden. Das Verhalten lässt sich zu Laufzeit

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Design Patterns. 5. Juni 2013

Design Patterns. 5. Juni 2013 Design Patterns 5. Juni 2013 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Refactoring und Design Patterns: Welchen Zusammenhang gibt es

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Outlook Vorlagen/Templates

Outlook Vorlagen/Templates Joachim Meyn Outlook Vorlagen/Templates Erstellen Sie Vorlagen bzw. Templates in Outlook Joachim Meyn 27.03.2013 Inhaltsverzeichnis Outlook Vorlagen (.oft Dateien)... 2 Vorbereitung... 2 Anlegen einer

Mehr

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

Klassendiagramm. (class diagram)

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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

WEBINAR@LUNCHTIME THEMA: SAS STORED PROCESSES - SCHNELL GEZAUBERT HELENE SCHMITZ WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Training

Mehr

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma:

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma: Anwendungsbeispiele Neuerungen in den E-Mails Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Neuerungen in den E- Mails 2 Was gibt es neues? 3 E- Mail Designs 4 Bilder in E- Mails einfügen 1 Neuerungen

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

WhiteStarUML Tutorial

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

Mehr

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

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

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

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

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Das können wir Ihnen versprechen: An der neuen Taskleiste in Windows 7 werden Sie sehr viel Freude haben. Denn diese sorgt

Mehr

Vererbung & Schnittstellen in C#

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

Mehr

Unified Modeling Language (UML)

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

Mehr

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

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

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

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

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

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

Mehr

Kurzanleitung So geht s

Kurzanleitung So geht s Kurzanleitung So geht s MDT IP Interface SCN IP000.01 MDT IP Router SCN IP100.01 IP Interface IP Router einrichten Es wurden keine Einträge für das Inhaltsverzeichnis gefunden.falls Sie Basis Informationen

Mehr

teischl.com Software Design & Services e.u. [email protected] www.teischl.com/booknkeep www.facebook.com/booknkeep

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep teischl.com Software Design & Services e.u. [email protected] www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen

Mehr

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Second Steps in eport 2.0 So ordern Sie Credits und Berichte Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun

Mehr

4. AuD Tafelübung T-C3

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 ++) {

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

Assoziation und Aggregation

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

Mehr

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation (Bei Abweichungen, die bspw. durch technischen Fortschritt entstehen können, ziehen Sie bitte immer das aktuelle Handbuch

Mehr

Checkliste zur Planung einer Webseite

Checkliste zur Planung einer Webseite Checkliste zur Planung einer Webseite Eine neue Webseite ist immer ein spannendes Unterfangen. Egal, ob es Ihre erste oder zehnte Webseite ist. Das Gefühl, wenn die Webseite endlich fertig und live im

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Connecting Content. User Manual. Version: 1.2

Connecting Content. User Manual. Version: 1.2 Connecting Content User Manual Version: 1.2 09.09.2015 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 3 2 Installation 4 3 Konfiguration 5 3.1 Allgemeine Einstellungen 6 3.2 Jobs anlegen 6 3.3 Tasks

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Microsoft Access 2013 Navigationsformular (Musterlösung)

Microsoft Access 2013 Navigationsformular (Musterlösung) Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Access 2013 Navigationsformular (Musterlösung) Musterlösung zum Navigationsformular (Access 2013) Seite 1 von 5 Inhaltsverzeichnis Vorbemerkung...

Mehr

Online Newsletter III

Online Newsletter III Online Newsletter III Hallo zusammen! Aus aktuellem Anlass wurde ein neuer Newsletter fällig. Die wichtigste Neuerung betrifft unseren Webshop mit dem Namen ehbshop! Am Montag 17.10.11 wurde die Testphase

Mehr

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Die Invaliden-Versicherung ändert sich

Die Invaliden-Versicherung ändert sich Die Invaliden-Versicherung ändert sich 1 Erklärung Die Invaliden-Versicherung ist für invalide Personen. Invalid bedeutet: Eine Person kann einige Sachen nicht machen. Wegen einer Krankheit. Wegen einem

Mehr