GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT

Größe: px
Ab Seite anzeigen:

Download "GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT"

Transkript

1 User Requirements GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 1 Gruppe 18 Andreas Hechenblaickner [ ] Daniela Kejzar [ ] Andreas Maller [ ] Gruppe 18 Seite 1

2 User Requirements Example 1 1 User Requirements 1.1 Aufgabenstellung Es soll ein gerichteter, gewichteter Graph erstellt werden, welcher aus Knoten (nodes) und Kanten (edges) besteht. Hierbei sollten Knoten mit anderen Knoten durch Kanten verbunden werden. Die Datenstruktur sollte verschiedene Funktionalitäten, wie zb das Einfügen und Löschen von Knoten und Kanten, aufweisen. 1.2 Anforderungen Es ist eine geeignete Datenstruktur zu entwickeln, die es ermöglicht die gewünschten Funktionalitäten zu erfüllen. Das Testprogramm sollte diese Funktionalitäten zeigen können. Ein Input-Handler soll die eingegebenen Kommandos verarbeiten und die dazu entsprechenden Operationen am Graphen durchführen. Das Programm muss sinnvoll objektorientiert aufgebaut sein. Seite 2 Gruppe 18

3 Architectural Design 2 Architectural Design 2.1 Module Das Programm wird in folgende Module aufgeteilt: Name Beschreibung Seite Modul Graph Modul Input-Handler Modul Testprogramm Beschreibt die interne Speicherung eines gerichteten Graphen. Stellt Klassen mit Methoden zur Manipulation der im Graphen gespeicherten Knoten und Kanten zur Verfügung. Verarbeitet eingegebene Kommandos und führt die entsprechenden Befehle aus. Leitet eingegeben Kommandos an den Input-Handler weiter und gibt Fehlermeldungen entsprechend an den Benutzer weiter Gruppe 18 Seite 3

4 Modul Graph Example 1 3 Modul Graph 3.1 Beschreibung Ein gerichteter gewichteter Graph besteht aus beliebig vielen Knoten die untereinander durch beliebig viele Kanten verbunden sein können. Jede Kante hat einen Start- und einen Zielknoten. Start- und Zielknoten können auch gleich sein in diesem Fall zeigt ein Knoten auf sich selbst. Ein Graph, jeder Knoten und jede Kante haben einen Namen. Es dürfen nicht zwei Knoten mit demselben Namen existieren. Es dürfen weder zwei Kanten mit selbem Namen, zwischen zwei Knoten existieren, noch dürfen zwei Kanten mit demselben Namen denselben Knoten als Start- oder Zielknoten haben. Es jedoch erlaubt, dass mehrere Kanten denselben Namen besitzen, vorausgesetz sie teilen sich weder Start- noch Zielknonten. Jede Kante speichert zusätzlich noch eine positive Ganzzahl als Gewichtung. Ein neuer Graph enthält anfangs weder Knoten noch Kanten. ad: 1 bd: 1 ce: 1 Abbildung 1: Beispiel eines Graphen 3.2 Bereitgestellte Klassen Graph, Node und Edge Die Klasse Graph speichert einen gerichteten, gewichteten Graphen. Alle möglichen Operationen wie zb das Einfügen von Knoten und Kanten werden über public-methoden bereitgestellt. Die interne Speicherung der Zuordnung von Kanten und Knoten wird im nächsten Abschnitt Verwendete Datenstruktur beschrieben. Seite 4 Gruppe 18

5 Modul Graph Displayable Alle anzeigbaren Objekte haben die gemeinsame abstrakte Superklasse Displayable, die eine Implementierung der virtuellen Methode show erfordert. In dieser Methode wird einfach die gewünschte Repräsentation der Klasse als String auf den Standard-Output geschrieben. Abbildung 2: Klassendiagramm des Moduls Graph 3.3 Verwendete Datenstruktur Die Knoten werden intern in einem assoziativen Speicher (Template Map aus der STL) mit dem Name des Knoten und den Knoten selbst als Schlüssel- Werte-Paar gespeichert. Diese Datenstruktur wird verwendet da auf diese Weise einfach verhindert werden kann, das mehrere Knoten mit demselben Namen im Graphen existieren, und die häufige Operation Knoten mit einem bestimmten Namen ermitteln kann ohne zeitaufwändiges durchlaufen aller Knoten durchgeführt werden. Die Kanten werden intern ebenfalls in Maps gespeichert. Es gibt jedoch im Graphen keine gesamte Liste, sondern jeder Knoten hält jeweils zwei Maps von Kanten. Die erste Map speichert alle von diesem Knoten ausgehenden Kanten, die zweite alle Kanten die diesen Knoten als Ziel haben. Jeder Knoten wird somit in genau zwei Listen gleichzeitig gehalten. Zusätzlich weiß jede Kante welche ihre Start- und Zielknoten sind. Durch diese Speicherung wird auch hier einerseits das schnelle Ansprechen einer bestimmten Kante über ihren Namen ermöglicht sowie das Einfügen von zwei gleichnamigen Kanten innerhalb eines Knotens verhindert. Für die korrekte An- und Abmeldung der Kanten bei den entsprechenden Knoten ist die Kante selbst verantwortlich. Wird ein Knoten gelöscht der von einer Kante als Start- oder Zielknoten verwendet wird, so muss auch diese Kante gelöscht werden. Wird eine Kante gelöscht, ist es notwendig die Verweise aus den Listen des Start- und des Zielknotens zu entfernen. Gruppe 18 Seite 5

6 Modul Graph Example 1 Der zuvor dargestellte gerichtete Graph wird daher folgendermaßen gespeichert: Graph "A" "B" "C" "D" "E" *Node A *Node B *Node C *Node D *Node E Node A "ab" *Edge ab "ad" *Edge ad Source Edges Destination Edges Edge ab Source *Node A Destination *Node B Edge ad Source *Node A Nodes Node B Destination *Node D "bd" *Edge bd "ab" *Edge ab Edge bd "bc" *Edge bc "cb" *Edge cb Source *Node B Source Edges Destination Edges Destination *Node D Node C Edge cb Source *Node C "cb" *Edge cb "bc" *Edge bc Destination *Node B "ce" *Edge ce Source Edges Destination Edges Edge... Node... Abbildung 3: Interne Speicherung eines Graphen 3.4 Fehlerbehandlung Zur Fehlerbehandlung werden folgende Exceptions zur Verfügung gestellt: Exception GraphException NodeAlreadyExistsException EdgeAlreadyExistsException NoSuchNodeException NoSuchEdgeException Beschreibung / Fehlermeldung Abstrakte Basisklasse für alle Fehlerfälle die in einem Graph auftreten können. error: node already exists error: edge already exists in this context error: no such node in graph error: no such edge Seite 6 Gruppe 18

7 Modul Input-Handler 4 Modul Input-Handler 4.1 Beschreibung Aufgaben des Input-Handlers ist es eingelesene Kommandos zu verarbeiten und die entsprechenden Befehle mit ihren Parametern auszuführen. Ungültige Kommandos und Fehler beim Ausführen der Befehle, zb durch unvollständige/falsche Parameter, werden an das aufrufende Modul gemeldet. 4.2 Bereitgestellte Klassen InputHandler Die Klasse InputHandler verarbeitet eingelesene Kommandozeilen. Diese werden von außen (im Übungsbeispiel vom Modul Testprogramm) mittels der Methode handleinput als String übergeben. Der Input-Handler speichert eine Liste aller möglichen Befehle und deren zugehörige Objekte einer Command-Klasse (Ableitung der Klasse BaseCommand), welche in der virtuellen Methode executecommand die für diesen Befehlt auszuführenden Anweisungen enthalten. Die Klasse InputHandler ist eine abstrakte Basisklasse, die selbst noch keine Befehle kennt, erst ein Objekt der Klasse GraphInputHandler kennt alle für einen Graph relevanten Befehle. Abbildung 4: Klassendiagramm des Input-Handlers Gruppe 18 Seite 7

8 Modul Input-Handler Example 1 GraphInputHandler Der GraphInputHandler stellt Befehle zur Manipulation eines Graphen zur Verfügung. Zur Konstruktion muss ein Graph-Objekt übergeben werden. Der GraphInputHandler kann folgende Befehle verarbeiten und auf den zugehörigen Graphen anwenden: Kommando add node <name>... add edge <src> <dst> <name> <weigth>... delete node <name>... delete edge <src <dst> <name>... show [<node>] quit Beschreibung Neue(n) Knoten einfügen. Neue Kante(n) einfügen. Bestimmte(n) Knoten löschen. Bestimmte Kante(n) löschen. Alle Kanten die einen bestimmten Knoten als Start- oder Zielknoten haben anzeigen. Wird kein Knoten angegeben, wird er gesamte Graph angezeigt. Veranlasst das aufrufende Modul das Programm zu beenden. 4.3 Fehlerbehandlung Zur Fehlerbehandlung werden folgende Exceptions zur Verfügung gestellt: Exception InputHandlerException InvalidArgumentException UnknownCommandException Beschreibung / Fehlermeldung Abstrakte Basisklasse für alle Fehlerfälle die im Input-Handler auftreten können. error: invalid argument(s) error: unknown command 4.4 Weitere Designentscheidungen StringTokenizer Zur einfachen Verarbeitung der übergeben Befehlszeile wird diese zunächst von einer eigenen Klasse StringTokenizer in ihre einzelnen Wörter zerlegt. Ein Aufruf der Methode getnexttoken liefert immer das jeweils nächste Wort, solange hasmoretoken wahr zurückliefert. Seite 8 Gruppe 18

9 Modul Testprogramm 5 Modul Testprogramm 5.1 Beschreibung Das Testprogramm stellt Befehle zur Verfügung mit der ein Graph bearbeitet werden kann. Dazu wird zunächst ein leerer Testgraph erstellt. Es wird eine Eingabeauforderung angezeigt, in der der Benutzer eine Reihe von durch das Modul Input-Handler definierte Befehle zur Manipulation eines Graphen eingeben kann. Das Testprogramm ist dafür verantwortlich das alle vom Graphen und vom Input-Handler weitergereichte Exceptions durch ihre entsprechende Fehlermeldungen dargestellt werden. Das Testprogramm besteht lediglich aus der Klasse TestProgram und wird über die Methode run vom Hauptprogramm aus gestartet. 5.2 Testfälle Um das Programm automatisch auf Fehler zu überprüfen, wird eine Liste von Befehlen in einer Datei bereitgestellt. Diese können dann einfach mittels workflow < testinput.txt in das Programm eingelesen und verarbeitet werden. Danach lässt sich die Ausgabe mit einer zuvor händisch erstellten Referenz-Ausgabe vergleichen. Die erledigt zum Beispiel das Programm diff und kann somit bequem zb in das Makefile eingebaut werden. Verschieden Testfälle werden mit anderen Gruppen gemeinsam erarbeitet und ausgetauscht. Gruppe 18 Seite 9

WORKFLOW DESIGNDOKUMENT

WORKFLOW DESIGNDOKUMENT Architectural Design WORKFLOW DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 2 Gruppe 86 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289] Gruppe 86 Seite

Mehr

EINFACHER ROUTENPLANER DESIGNDOKUMENT

EINFACHER ROUTENPLANER DESIGNDOKUMENT Architectural Design EINFACHER ROUTENPLANER DESIGNDOKUMENT Einführung in die strukturierte Programmierung Übungsbeispiel 3 Gruppenmitglieder Gruppe 18 Thomas Bernat [0530058] Andreas Hechenblaickner [0430217]

Mehr

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Aufgabe : Die allgemeine Object-Liste Gegeben sei folgendes UML-Klassendiagramm: MyObjectList

Mehr

Eine Kommando-Oberfläche für.net

Eine Kommando-Oberfläche für.net Institut für Systemsoftware O.Univ.-Prof. Dr. Hanspeter Mössenböck Eine Kommando-Oberfläche für.net In.NET (wie auch in vielen anderen Systemen) haben Programme nur einen einzigen Eintrittspunkt (ihre

Mehr

Praktikum 4: Delegation

Praktikum 4: Delegation : Delegation 1. Lernziele Die folgenden, in der Vorlesung behandelten Themen sollen vertieft und angewendet werden: Vererbung, abstrakte Klassen, Polymorphie, Delegation sowie das Zeichnen von UML-Klassendiagrammen.

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

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

Objektorientierte Programmierung mit C++ SS 2007

Objektorientierte Programmierung mit C++ SS 2007 Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

Projekt AGB-10 Fremdprojektanalyse

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

Mehr

Drucken und Löschen von angehaltenen Druckaufträgen Erkennen von Formatierungsfehlern Bestätigen von Druckaufträgen Reservieren von Druckaufträgen

Drucken und Löschen von angehaltenen Druckaufträgen Erkennen von Formatierungsfehlern Bestätigen von Druckaufträgen Reservieren von Druckaufträgen Beim Senden eines Druckauftrags an den Drucker können Sie im Treiber angeben, daß der Drucker den Auftrag im Speicher zurückhalten soll. Wenn Sie zum Drucken des Auftrags bereit sind, müssen Sie an der

Mehr

Polymorphismus 179. Function.h. #include <string>

Polymorphismus 179. Function.h. #include <string> Polymorphismus 179 #include Function.h class Function { public: virtual ~Function() {}; virtual std::string get_name() const = 0; virtual double execute(double x) const = 0; }; // class Function

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdarstellungen Maike Buchin 0.6.017 Graphen Motivation: Graphen treten häufig als Abstraktion von Objekten (Knoten) und ihren Beziehungen (Kanten) auf. Beispiele: soziale

Mehr

Inhaltsverzeichnis. Praktikum Algoritmen und Datenstrukturen WS2004/2005 Paul Litzbarski Stefan Nottorf. Druckmanager allgemein 2.

Inhaltsverzeichnis. Praktikum Algoritmen und Datenstrukturen WS2004/2005 Paul Litzbarski Stefan Nottorf. Druckmanager allgemein 2. Praktikum Algoritmen und Datenstrukturen WS2004/2005 Paul Litzbarski Stefan Nottorf Inhaltsverzeichnis Druckmanager allgemein 2 Design 2 Druckauftrag 3 Liste 4 ListenEintrag 6 GUI 7 1 Druckmanager : allgemein

Mehr

Technische Dokumentation SilentStatistikTool

Technische Dokumentation SilentStatistikTool Technische Dokumentation SilentStatistikTool Version 1.0 Marko Schröder 1115063 Inhalt Einleitung... 3 Klasse Program... 3 Klasse ArgumentHandler... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden...

Mehr

PIWIN 1 Übung Blatt 5

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

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl

Mehr

C++ - Objektorientierte Programmierung Konstante und statische Elemente

C++ - Objektorientierte Programmierung Konstante und statische Elemente C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja

Mehr

Programmierung für Mathematik (HS13)

Programmierung für Mathematik (HS13) software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 6 1 Aufgabe: Getter- und Setter-Methoden 1.1 Lernziele 1. Getter- und Setter-Methoden verstehen und anwenden. 1.2 Aufgabenstellung

Mehr

Von der UML nach C++

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

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

Informatik Abitur Bayern 2017 / II - Lösung

Informatik Abitur Bayern 2017 / II - Lösung Informatik Abitur Bayern 2017 / II - Lösung Autoren: Wolf (1) Wagner (2) Scharnagl (3-5) 1a 5 1b Diese Methode vergleicht den Namen des Interpreten eines jeden Elements der Liste mit dem gegebenen Namen.

Mehr

Grundlagen der Informatik Vorlesungsskript

Grundlagen der Informatik Vorlesungsskript Grundlagen der Informatik Vorlesungsskript Prof. Dr. T. Gervens, Prof. Dr.-Ing. B. Lang, Prof. Dr. F.M. Thiesing, Prof. Dr.-Ing. C. Westerkamp 16 AUTOMATISCHES ÜBERSETZEN VON PROGRAMMEN MIT MAKE... 2 16.1

Mehr

Debugging mit ddd (Data Display Debugger)

Debugging mit ddd (Data Display Debugger) Debugging mit ddd (Data Display Debugger) 1 Testprogramm installieren und ausführen Laden Sie sich das Fortran Programm sample.f90 und das Makefile herunter und speichern Sie sie in einem Verzeichnis.

Mehr

Die vier goldenen Regeln für die Einzugsgebietserstellung und -berechnung im MikeUrban

Die vier goldenen Regeln für die Einzugsgebietserstellung und -berechnung im MikeUrban Die vier goldenen Regeln für die Einzugsgebietserstellung und -berechnung im MikeUrban 1.) Shape-Files dürfen nicht projiziert sein, d.h. wenn *.prj-dateien vorhanden sind, diese bitte löschen. 2.) Einzugsgebiete

Mehr

Verwenden der Druck- und Zurückhaltefunktion

Verwenden der Druck- und Zurückhaltefunktion Beim Senden eines Druckauftrags an den Drucker können Sie im Treiber angeben, daß der Drucker den Auftrag im Speicher zurückhalten und nicht sofort drucken soll. Wenn Sie zum Drucken des Auftrags bereit

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList

Mehr

Praktikum 3: Klassen im Zusammenspiel

Praktikum 3: Klassen im Zusammenspiel : Klassen im Zusammenspiel 1. Lernziele Die folgenden, in der Vorlesung behandelten Themen sollen vertieft und angewendet werden: Programmierung Klassen- und Objektmodell Einbinden von externen Bibliotheken

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

1 - EIN NEUES GAMEGRID ANLEGEN

1 - EIN NEUES GAMEGRID ANLEGEN 1 - EIN NEUES GAMEGRID ANLEGEN EIN NEUES GAMEGRID ANLEGEN 1. Schritt: Ein neues Java-Projekt anlegen: 2. Schritt: Namen des Projekts angeben und auf Next klicken (Achtung: Nicht auf Finish klicken) 3.

Mehr

Gran Turismo Cars - WS 11/12

Gran Turismo Cars - WS 11/12 WS 2011/2012 Stephan Gimbel Repetitorium PAD 1+2 Übungsblatt Gran Turismo Cars - WS 11/12 Empfehlung: Arbeiten Sie in kleinen Schritten und sorgen Sie dafür, dass Sie jederzeit ein lauffähiges Anwendungssystem

Mehr

Objektorientierte Analyse (OOA) OOA-Pattern

Objektorientierte Analyse (OOA) OOA-Pattern OOA-Muster (Architektur Pattern) Ein Pattern (Entwurfsmuster) ist ein Problem mit seiner Lösung in einem Kontext. Der Kontext enthält in der Regel Zielkonflikte, die der Designer lösen muss, z.b. Performance

Mehr

Übungen zu Programmieren 3 (C++) (4-1)

Übungen zu Programmieren 3 (C++) (4-1) BEREICH DATENTECHNIK U CQ 034 01 TH 02 Übungen zu Programmieren 3 (C++) (4-1) Allgemeines Ziel dieser Praktikumsaufgabe ist die Realisierung eines einfachen Telefonbuch-Verwaltungsprogramms mit dem Namen

Mehr

C++ - Objektorientierte Programmierung Vererbung

C++ - Objektorientierte Programmierung Vererbung C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf

Mehr

8 Baum in perfekter Komposition

8 Baum in perfekter Komposition 8 Baum in perfekter Komposition Die Implementierung des Binärbaums im letzten Kapitel wird mithilfe des Entwurfsmusters Kompositum optimiert. Knoten und Abschluss Bei der einfach verketteten Liste wurde

Mehr

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden ffl mitp Inhaltsverzeichnis Einleitung 19 1 Grundlagen 21 Entwicklung und Eigenschaften von C + + 22 Objektorientierte Programmierung

Mehr

ADT: Verkettete Listen

ADT: Verkettete Listen ADT: Verkettete Listen Abstrakter typ - Definition public class Bruch int zaehler, nenner; public Bruch(int zaehler, int nenner) this.zaehler = zaehler; this.nenner = nenner; Konstruktor zum Initialisieren

Mehr

ALP II Dynamische Datenmengen Datenabstraktion (Teil 2)

ALP II Dynamische Datenmengen Datenabstraktion (Teil 2) ALP II Dynamische Datenmengen Datenabstraktion (Teil 2) O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 49 Einfach verkettete Listen O1 O2 O3 50 Einführung Einfach verkettete Listen sind die einfachsten

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

Die Warenkorbfunktion (workbasket)

Die Warenkorbfunktion (workbasket) Beschreibung der Komponente zur integration eines Warenkorbs in die Anwendung Table of contents 1 Allgemein...2 2 Körbe speichern und laden...3 3 Aufgelöstes XML oder beliebige weitere Metadaten im Korb...

Mehr

Der-OnlineStundeplan.de. API-Dokumentation. Der-OnlineStundenplan.de 1 Version 1.1

Der-OnlineStundeplan.de. API-Dokumentation. Der-OnlineStundenplan.de 1 Version 1.1 Der-OnlineStundeplan.de API-Dokumentation Der-OnlineStundenplan.de 1 Version 1.1 Schulen Liste aller Schulen GET /api/v1/school "schools": "name":"rvwbk","city":"paderborn","website":"http:\/\/www.rvwbk.de",

Mehr

Abbildung : Aufruf des Wikis (Server: Interner Web-Server HTTPD auf Port 8080)

Abbildung : Aufruf des Wikis (Server: Interner Web-Server HTTPD auf Port 8080) 24.7.1 Projekte Texte in MarkDown-Syntax lassen sich schnell schreiben und gut lesen, denn Gambas-MarkDown bringt alles mit, was Sie u.a. für das Generieren von (einfachen) Webseiten benötigen. 24.7.1.1

Mehr

Datenbank und Tabelle mit SQL erstellen

Datenbank und Tabelle mit SQL erstellen Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`

Mehr

Datenstrukturen. einfach verkettete Liste

Datenstrukturen. einfach verkettete Liste einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten

Mehr

Praktikum 3: Klassen im Zusammenspiel

Praktikum 3: Klassen im Zusammenspiel : Klassen im Zusammenspiel 1. Lernziele Die folgenden, in der Vorlesung behandelten Themen sollen vertieft und angewendet werden: Programmierung Klassen- und Objektmodell Einbinden von externen Bibliotheken

Mehr

Fragen zur OOP in Java

Fragen zur OOP in Java - 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...

Mehr

3. Die Datenstruktur Graph

3. Die Datenstruktur Graph 3. Die Datenstruktur Graph 3.1 Einleitung: Das Königsberger Brückenproblem Das Königsberger Brückenproblem ist eine mathematische Fragestellung des frühen 18. Jahrhunderts, die anhand von sieben Brücken

Mehr

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur Informatik 2 Sommersemester 2013 Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel

Mehr

Kapitel 9: Klassen und höhere Datentypen. Selektoren

Kapitel 9: Klassen und höhere Datentypen. Selektoren Selektoren Üblicherweise erlaubt man keinen (direkten) öffentlichen (public) Zugang zu Objektvariablen mehr Kontrolle über Zugang interne Details besser verborgen Statt dessen: Zugriff auf privates Feld

Mehr

Klausur Informatik WS 2012/13

Klausur Informatik WS 2012/13 Klausur Informatik WS 2012/13 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweies: Voraussetzung für die Teilnahme ist das Bestehen

Mehr

Methoden-Expertin. Aufgabe 1. Das Neue. Lösung in JavaKara. Puzzle: Expertin D

Methoden-Expertin. Aufgabe 1. Das Neue. Lösung in JavaKara. Puzzle: Expertin D Methoden-Expertin Aufgabe 1 Kara steht vor einem Baum, der alleine in der Welt steht. Hinter dem Baum hat es ein Kleeblatt, das Kara aufheben soll. Danach soll Kara wieder zum Ausgangsort zurückkehren.

Mehr

Verkettete Datenstrukturen: Listen

Verkettete Datenstrukturen: Listen Verkettete Datenstrukturen: Listen 2 Listen Formal: Liste = endliche Folge von Elementen [a 1, a 2,..., a n ]. Spezialfall: leere Liste [ ]. Länge einer Liste = Anzahl der Elemente (bei leerer Liste: 0).

Mehr

Verkettete Datenstrukturen: Bäume

Verkettete Datenstrukturen: Bäume Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller

Mehr

Grundlegende Programmierkonzepte: Anweisungen und Methoden

Grundlegende Programmierkonzepte: Anweisungen und Methoden Grundlegende Programmierkonzepte: Anweisungen und Methoden Einleitung: Eigene Befehle definieren Kara steht vor einem Baum, der alleine in der Welt steht. Hinter dem Baum hat es ein Kleeblatt, das Kara

Mehr

Übungen zur Vorlesung EINI (WS 2010) Blatt 11

Übungen zur Vorlesung EINI (WS 2010) Blatt 11 Martin Apel Informatik VI, GB5/R 431; Tel.: 4775 Nicola Beume Informatik XI, OH14/R 233; Tel.: 7704 Jürgen Mäter Informatik IV, GB5/R 402; Tel.: 2411 Dortmund, den 14. Januar 2011 Übungen zur Vorlesung

Mehr

Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1

Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1 Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1 1. Das Objekt Bruch mit einem Standardkonstruktor (initialisieren mit 0), einem allgemeinen Konstruktor (Zähler und Nenner können beliebig vorgegeben

Mehr

Verwenden der Druck- und Zurückhaltefunktion 1

Verwenden der Druck- und Zurückhaltefunktion 1 Verwenden der Druck- und Zurückhaltefunktion 1 Beim Senden eines Druckauftrags an den Drucker können Sie im Treiber angeben, daß der Drucker den Auftrag im Speicher zurückhalten und nicht sofort drucken

Mehr

Algorithmen für Routenplanung

Algorithmen für Routenplanung Algorithmen für Routenplanung Übung 1 Thomas Pajor 8. Mai 2009 1/ 28 Organisatorisches Willkommen zur Übung zur Vorlesung Algorithmen für Routenplanung Euer Übungsleiter Name: Thomas Pajor E-Mail: pajor@ira.uka.de

Mehr

Fehlerbehandlung in Excel -Tabellen - Grundüberlegungen

Fehlerbehandlung in Excel -Tabellen - Grundüberlegungen Fehlerbehandlung in Excel -Tabellen - Grundüberlegungen Jeder macht sie und keiner freut sich über sie. Fehler. Dort wo programmiert wird, treten Fehler auf. Und je umfangreicher und komplexer ein Programm

Mehr

Deshalb ist hello + world = 0. Umgekehrt gilt das Gleiche, weshalb 8 plus 3 gleich 83 ist. Dies ist in Zeile 5 in Terminal 2 gezeigt. In der Regel sol

Deshalb ist hello + world = 0. Umgekehrt gilt das Gleiche, weshalb 8 plus 3 gleich 83 ist. Dies ist in Zeile 5 in Terminal 2 gezeigt. In der Regel sol So nützlich wie Variablen in der Mathematik sind, um z.b. Gleichungen eine allgemeine Gültigkeit zu verleihen, so nützlich sind sie auch bei der Programmierung. In dieser Ausgabe möchte ich Ihnen die Verwendung

Mehr

Securepoint Security Systems

Securepoint Security Systems HowTo: Bearbeiten von Templates Securepoint Security Systems Version 2007nx Release 3 Inhalt 1 Verbinden mit der Firewall... 4 2 Template bearbeiten... 5 2.1 Dienste anzeigen lassen... 5 2.2 Liste der

Mehr

2 Teil 2: Nassi-Schneiderman

2 Teil 2: Nassi-Schneiderman 2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der

Mehr

1 Excel Schulung Andreas Todt

1 Excel Schulung Andreas Todt 1 Excel Schulung Andreas Todt Inhalt 1 Darum geht es hier... 1 2 So wird es gemacht... 1 2.1 Zellen und Blatt schützen... 1 2.2 Arbeitsmappe schützen... 5 2.3 Schritt für Schritt... 6 1 Darum geht es hier

Mehr

ALP II Dynamische Datenmengen

ALP II Dynamische Datenmengen ALP II Dynamische Datenmengen Teil III Iteratoren Iterator-Objekt O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 22. ALP2-Vorlesung, M. Esponda 2 Motivation: Iteratoren Wir haben für die Implementierung

Mehr

Werner Achte rt DATA BECKER

Werner Achte rt DATA BECKER Werner Achte rt. DATA BECKER Inhaltsverzeichnis 1. Einführung 21 1.1 Entwurf von Anwendungssystemen 23 1.2 Entwicklung eines Programms 25 1.3 Objektorientierte Programmierung 29 1.4 Darstellung objektorientierter

Mehr

Programmieren 2 C++ Überblick

Programmieren 2 C++ Überblick Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 5. Behälter und Iteratoren 6. Templates

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Polymorphie, Abstrakte Klassen, Mehrfachvererbung Prof. Dr.-Ing. Thomas Wiedemann Prof. Dr. rer.nat. Ralph Großmann Fachgebiet Informatik / Mathematik Überblick zum Inhalt Klassen-3

Mehr

Das Handbuch zu KCron

Das Handbuch zu KCron Das Handbuch zu KCron Autor: Frank Börner (f.boerner@selflinux.org) Autor: Robert Schröter (robert-schroeter@gmx.de) Autor: Morgan N. Sandquist (morgan@pipeline.com) Formatierung: Frank Börner (f.boerner@selflinux.org)

Mehr

Trainingsmanagement Gutschein Management. Beschreibung

Trainingsmanagement Gutschein Management. Beschreibung Trainingsmanagement Beschreibung www.dastm.de info@dastm.de 1. Einführung... 2 2. Gutschein Funktionen... 3 2.1. Gutschein Menü... 3 2.2. Gutscheine anlegen... 4 Gutschein Kassenwirksam erfassen... 6 Gutschein

Mehr

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein Ausnahmen Exceptions Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten Dr. Beatrice Amrhein Definition 2 Definition: Ausnahme (Exception) In C# werden Fehler, die zur Laufzeit im

Mehr

Verwendung der Visage Java-API

Verwendung der Visage Java-API Verwendung der Visage Java-API Whitepaper Andraes Fest Stand: 27. April 2010 bezieht sich auf Cinderella 2.1 Build 1197 1 Vorbemerkungen Die interaktive Geometrie-Software Cinderella bietet verschiedene

Mehr

Prof. Dr. Uwe Schmidt. 21.August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (BInf 211, BTInf 211, BMInf 211, BWInf 211)

Prof. Dr. Uwe Schmidt. 21.August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (BInf 211, BTInf 211, BMInf 211, BWInf 211) Prof. Dr. Uwe Schmidt 21.August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (BInf 211, BTInf 211, BMInf 211, BWInf 211) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.

Mehr

Klausur Fachprüfung Wirtschaftsinformatik. Name:

Klausur Fachprüfung Wirtschaftsinformatik. Name: Klausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden Datum: 02.10.2003 Name: Punkte True-or-False: von 15 Punkte Multiple Choice: von 15 Punkte Quickies: von 30 Punkte Shorties: von 20 Punkte Longies:

Mehr

Strings. Daten aus Dateien einlesen und in Dateien speichern.

Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings Ein String ist eine Zeichenkette, welche von MATLAB nicht als Programmcode interpretiert wird. Der Ausdruck 'a' ist ein String bestehend

Mehr

Kapitel 12: Induktive

Kapitel 12: Induktive Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter

Mehr

Vorbereitung zu Praktikum 3

Vorbereitung zu Praktikum 3 Vorbereitung zu Praktikum 3 Menü-Toolkit und Command Pattern Fallstudie zu Vererbung und Polymorphie: "Menü-Toolkit" Anwenderfreundliche Programme werden mit Menüs gesteuert In objektorientierten Anwendungen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 17 Einstieg in die Informatik mit Java Methoden und Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick 2 Felder als Parameter bei Methoden 3 Feld

Mehr

3. Das erste eigene Programm mit Greenfoot: Litte Crab

3. Das erste eigene Programm mit Greenfoot: Litte Crab Eigenes Programm: Little Crab1, Seite 1 von 5 3. Das erste eigene Programm mit Greenfoot: Litte Crab 3.1. Quelltext bearbeiten Nachdem Sie etwas Erfahrungen in der Bedienung von Greenfoot gewonnen haben,

Mehr

Algorithmen & Datenstrukturen Midterm Test 2

Algorithmen & Datenstrukturen Midterm Test 2 Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann

Mehr

Script-Upgrade. Vorraussetzungen. Folgende Meldungstypen werden dabei verwendet: Vom Fahrzeug zur Zentrale. Quittungstexte vom Fahrzeug (Type 11.

Script-Upgrade. Vorraussetzungen. Folgende Meldungstypen werden dabei verwendet: Vom Fahrzeug zur Zentrale. Quittungstexte vom Fahrzeug (Type 11. Script-Upgrade An Fahrzeuge können Update-Befehle gesendet werden, die diese dazu veranlassen, Scripte und Dateien von einem Server im Internet zu laden. Diese Script-Dateien stellen normalerweise die

Mehr

Institut für Programmierung und Reaktive Systeme 19. August Programmier-Labor. 1. Übungsblatt

Institut für Programmierung und Reaktive Systeme 19. August Programmier-Labor. 1. Übungsblatt echnische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 19. August 2014 Aufgabe 1: Programmier-Labor 1. Übungsblatt a) Welche primitiven Datentypen kennt

Mehr

Programmieren in Haskell Debugging

Programmieren in Haskell Debugging Programmieren in Haskell Debugging Peter Steffen Universität Bielefeld Technische Fakultät 30.01.2009 1 Programmieren in Haskell Debugger Definition laut Wikipedia: Ein Debugger (von engl. bug im Sinne

Mehr

2017/01/23 15:50 1/5 Bedienung

2017/01/23 15:50 1/5 Bedienung 2017/01/23 15:50 1/5 Bedienung Bedienung (J.Müller, Hilfe zu JTCEMU) Das originale 2K-System Das 2 KByte große Betriebssystem bietet die wichtigsten Funktionen zur Eingabe und Verwaltung von BASIC-Programmen.

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2010 Praktikum: Grundlagen der Programmierung Lösungsblatt 6 Prof. R. Westermann, A. Lehmann, R.

Mehr

Vererbung und Polymorphie

Vererbung und Polymorphie Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter

Mehr

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe MySQL 4, 5 Kapitel 06: Datenbanken Gliederung 1 Datenbanken erstellen 2 3 Datenbanken erstellen CREATE DATABASE erstellt. Optional kann der Parameter IF NOT EXISTS die Datenbank bereits existiert.

Mehr

Dokumentation zum AVL-Baum (C++)

Dokumentation zum AVL-Baum (C++) Dokumentation zum AVL-Baum (C++) Christian Blaar Monique Argus Januar 2007 Institut für Informatik Martin-Luther-Universität Halle-Wittenberg NODE.H Node.h Node legt die Grundlage für jeden Baum, denn

Mehr

KONFIGURATOR-SOFTWARE (S009-50) Kurzanleitung

KONFIGURATOR-SOFTWARE (S009-50) Kurzanleitung S e i t e 1 KONFIGURATOR-SOFTWARE (S009-50) Kurzanleitung 1. Laden Sie die Konfigurator-Software von unserer Internetseite herunter http://www.mo-vis.com/en/support/downloads 2. Schließen Sie den mo-vis

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

OLXImportCSV2Exchange

OLXImportCSV2Exchange OLXImportCSV2Exchange direkter Import aus CSV nach Exchange Grundlegendes Aus einer beliebigen jedoch strukturierten CSV-Datei sollen alle Einträge in einen beliebigen Kontakteordner innerhalb Exchange

Mehr

7.0 Arbeiten mit Objekten und Klassen

7.0 Arbeiten mit Objekten und Klassen 252-0027 Einführung in die Programmierung I 7.0 Arbeiten mit Objekten und Klassen Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013. and Thomas Gross 2016 All rights reserved.

Mehr

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe Aufgabe 6: Häuser verwalten - dynamisch Für ein Schneeräumungsunternehmen soll ein Programm zur Verwaltung von Häuserlisten geschrieben werden. Das Programm soll in der Lage sein, zu einem Haus die wichtigsten

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 03: Wiederholung und Nutzereingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Wiederholung Klassen, Objekte, Attribute und Methoden

Mehr