Ersetzbarkeit, Client-Server Beziehungen
|
|
- Dominic Waldfogel
- vor 8 Jahren
- Abrufe
Transkript
1 Ersetzbarkeit, Client-Server Beziehungen VL Objektorientierte Programmierung Raimund Kirner Mitwirkung an Folienerstellung: Peter Puschner, basieren auf den Folien von Franz Puntigam, TU Wien
2 Überblick Ersetzbarkeit Kovarianz, Kontravarianz, Invarianz Client-Server Beziehungen Person Univ.Lehrer Student Verw.pers. ADT + Vererbung + Dynamisches Binden 2
3 Das Ersetzbarkeitsprinzip U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Dieses Ersetzbarkeitsprinzip benötigt man für den Aufruf einer Routine mit einem Argument, dessen Typ Untertyp des formalen Parametertyps ist; die Zuweisung eines Objekts an eine Variable, wobei der Objekttyp Untertyp des deklarierten Variablentyps ist. 3
4 Untertypen und Schnittstellen Objekttyp U ist Untertyp von Objekttyp T wenn gilt für jede Konstante in T (vom Typ A) existiert eine Konstante in U (vom Typ B), wobei B Untertyp von A für jede Variable in T existiert eine Var. in U vom selben Typ für jede Methode in T existiert eine Methode in U, wobei Parameteranzahlen und Parameterarten (Eing./Ausg./Durchg.) gleich Eingangsparametertypen in T Untertypen der in U entsprechende Durchgangsparametertypen gleich Ausgangsparametertypen in U Untertypen der in T Ergebnistyp in U Untertyp von Ergebnistyp in T 4
5 Ergebnis- und Ausgangspar.-Typen In T: In U: TRet1 einemethode(tout1 par){...} TRet2 einemethode(tout2 par){...} T U Jeder in U nach außen gelieferte Typ (TRet1, TOut1) soll vom entsprechenden Typ in T (TRet2, TOut2) sein. Typen von Ergebnissen und Ausgangsparametern im Untertyp U müssen Untertypen der entsprechenden Typen in T sein (Kovarianz) 5
6 Eingangsparameter-Typen In T: In U: TRet1 einemethode(tin1 par){...} TRet2 einemethode(tin2 par){...} T U Jeder in T gelesene Wert vom Typ (TIn1) soll vom entsprechenden Typ in U (TIn2) sein. Typen von Eingangsparametern im Untertyp U müssen Obertypen der entsprechenden Typen in T sein (Kontravarianz) 6
7 Variablen und Durchgangspar.-Typen In T: In U: TRet1 einemethode(tinout1 par){...} TRet2 einemethode(tinout2 par){...} T U Ersetzbarkeit bei lesendem und schreibendem Zugriff benötigt. Typen von Variablen und Durchgangsparametern müssen in U und T gleich sein (Invarianz) 7
8 Ko-, Kontra- und Invarianz Kovarianz: Typ eines Elements im Untertyp ist Untertyp des Elementtyps im Obertyp Konstantentypen, Ergebnistypen, Ausgangsparametertypen Kontravarianz: Typ eines Elements im Untertyp ist Obertyp des Elementtyps im Obertyp Eingangsparametertypen Invarianz: Typ eines Elements im Untertyp ist gleich dem Elementtyp im Obertyp Variablentypen, Durchgangsparametertypen 8
9 Einschränkungen in der Praxis Theorie: vollständig und widerspruchsfrei, keine expliziten Untertypdeklarationen nötig Einschränkung in vielen praktisch verwendeten Sprachen: explizite Vererbungsbeziehung vorausgesetzt (zb: C++) Vererbung entsprechend eingeschränkt (zb: C++) Grund: einfach, keine zufälligen Untertypbeziehungen weitere Einschränkung in C++: Ergebnistypen kovariant, alle anderen Typen invariant 9
10 Beispiel zu Ersetzbarkeit class T1 { virtual T1& getref() { } }; class T2: public T1 { T2& getref() { } }; Zu prüfende Fragen: 1. Ist T1 ersetzbar durch T2? 2. Ist T1 ersetzbar durch T3? 3. Ist T2 ersetzbar durch T1? 4. Ist T2 ersetzbar durch T3? 5. Ist T3 ersetzbar durch T1? 6. Ist T3 ersetzbar durch T2? class T3: public T1 { T3& getref() { } }; In C++ wird Vererbungsbeziehung vorausgesetzt für Untertypbeziehung (daher nur Fragen 1. und 2. wahr). Wie sieht es ohne die C++ Einschränkungen aus? 10
11 Untertypen Code-Wiederverwendung Software-Generationen und -Versionen Treiber1 Treiber2a Treiber2b Treiber2c Treiber3a Treiber3b Treiber3c Ersetzbarkeit Code-Wiederverwendung zw. Versionen Typen sollen unverändert bleiben, Erweiterungen möglich 11
12 Untertypen Code-Wiederverwendung Wiederverwendung innerhalb eines Programms Person Univ.Lehrer Student Verw.pers. Stud.Ass. Werksstud. Ersetzbarkeit Code-Wiederverwendung im Programm Lokalhalten von Code-Änderungen Typen sollen stabil sein vor allem weiter oben 12
13 Dynamisches Binden class Person { virtual void print() { // print Person } }; class Student : public Person { void print () { // print Student details } }; class UnivLehrer : public Person { void print () { // print UnivLehrer details } }; Person *x = new Student (); Person *y = new UnivLehrer (); x->print(); y->print(); 13
14 Dynamisches Binden (2) Achtung: Default-Bindung ist in C++ statisch Keyword virtual für dynamisches Binden Zur Implementierung von rein virtuellen (=abstrakten) Methoden, die in allen Subklassen definiert werden müssen: virtual void print() = 0; 14
15 Ersetzbarkeit und Objektverhalten bisher genannte Bedingungen von Typ- Untertypbeziehungen sind statisch können vom Compiler überprüft werden weitere Bedingungen für Ersetzbarkeit betreffen das Objektverhalten ist nicht vom Compiler überprüfbar 15
16 Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Dienst entspricht der Ausführung einer Methode Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server erfüllt Nachbedingungen eines Dienstes Server sichert Invarianten des Objekts zu Vor-, Nachbedingungen, Invarianten sind Zusicherungen 16
17 Vorbedingung (Precondition) Verantwortlich: Client Wann: vor Methodenaufruf Was: hauptsächlich Eigenschaften von Argumenten Beispiel: Argument ist Array aufsteigend sortierter Zahlen manchmal auch Bezug auf (sichtbaren) Zustand des Servers Beispiel: abheben nicht aufrufen, wenn Konto überzogen 17
18 Nachbedingung (Postcondition) Verantwortlich: Server Wann: vor Rückkehr aus Methodenaufruf Was: Eigenschaften von Methodenergebnissen sowie Änderungen und Eigenschaften des Objektzustands Beispiel: Methode fügt Element (falls noch nicht vorhanden) in Menge ein. Das Ergebnis ist true, falls das Element bereits vorher in Menge war. Nachbedingung klingt oft wie Methodenbeschreibung 18
19 Invariante Verantwortlich: Server Wann: vor und nach Ausführung von Methoden Was: unveränderliche Eigenschaften von Objekten Beispiel: Guthaben am Sparbuch ist immer positive Zahl Gültigkeit der Invariante kann von Bedingungen abhängen Beispiel: zuverlässig == false wenn Konto überzogen Invarianten implizieren Nachbedingungen Ausnahme: Schreiben externer Variablen 19
20 Typen und Zusicherungen Zusicherungen gehören zu Typen Objekttyp besteht aus Name von Klasse Schnittstelle (= Signatur) Zusicherungen auf Methoden Formulierung der Zusicherungen als Kommentare Überprüfung der Zusicherungen bei Verwendung v. Typen Änderungen von Zusicherungen, Typänderungen Auswirkungen auf andere Programmteile 20
21 Genauigkeit von Zusicherungen Clients dürfen sich nur auf das verlassen, was in Schnitt-stellen und Zusicherungen vom Server zugesagt wird. Server dürfen sich nur auf das verlassen, was in Schnittstellen und Zusicherungen vom Client zugesagt wird. Genauigkeit durch ProgrammiererInnen bestimmbar: genau große Abhängigkeit zw. Client und Server Zus. sind bei Codeänderung eher zu ändern 21
22 Genauigkeit von Zusicherungen Tipp: nur wirklich notwendige Zusicherungen beschreiben Tipp: keine versteckten Zusicherungen Tipp für den Einsatz von Zusicherungen: Klassenzusammenhalt maximieren + Objektkopplung minimieren Beispiel: Methode abheben von Konto Vorbedingung darf Konto nicht überziehen weglassen dafür: explizietes Überprüfen der Bedingung in der Methode abheben des Server-Objekts 22
23 Ersetzbarkeit und Verhalten U ist nur dann Untertyp von T wenn gilt: Vorbedingungen in T implizieren Vorbedingungen in U Vorbedingungen in Untertypen sind schwächer bei Vererbung: Verknüpfung mit ODER Nachbedingungen in U implizieren Nachbedingungen in T Nachbedingungen in Untertypen sind stärker bei Vererbung: Verknüpfung mit UND Invarianten in U implizieren Invarianten in T Invarianten in Untertypen sind stärker bei Vererbung: Verknüpfung mit UND gilt nicht für externes Schreiben von Variablen 23
24 Faustregeln zu Zusicherungen Zusicherungen sollen stabil sein (vor allem an Wurzel der Typhierarchie) keine unnötigen Details festlegen explizit im Programm stehen unmissverständlich formuliert sein während Programmentwicklung ständig überprüft werden ggf. zusätzlich Realisierung durch Macros 24
25 Abstrakte Klassen Dienen der Festlegung eines Typs Keine Instanzen der Klasse nur Instanzen in Unterklassen abstrakte Klassen generell eher stabil Verwendung als Parametertypen sollen stabil sein d.h., sie sollen nicht mehr ausdrücken, als nötig (keine unnötigen Abhängigkeiten) abstrakte Klassen leicht hinzuzufügen (z.b. verwendbar als Parametertypen für jeden Bedarf) 25
26 Zusammenfassung Unterstützung von Polymorphimus und dynamischer Bindung Ersetzbarkeitsprinzip (Typ-/Subtypbeziehungen) Zusicherungen Zusicherungen und Ersetzbarkeit Ausblick: Klassenbeziehungen und Vererbung 26
Client-Server Beziehungen
Ersetzbarkeit, Client-Server Beziehungen 182.132 VL Objektorientierte Programmierung Peter Puschner nach Folien von Franz Puntigam, TU Wien Überblick Ersetzbarkeit Kovarianz, Kontravarianz, Invarianz Client-Server
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
MehrDas Ersetzbarkeitsprinzip
Das Ersetzbarkeitsprinzip U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Dieses Ersetzbarkeitsprinzip benötigt man für den Aufruf einer Routine
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
MehrErsetzbarkeit und Verhalten
Ersetzbarkeit und Verhalten U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Struktur der Typen für Ersetzbarkeit nicht ausreichend Beispiel: void
Mehr2015-06-11 Tagesprogramm
1 2015-06-11 Tagesprogramm Design-by-Contract 2 Vertragspartner Anbieter (Server) bietet Leistungen (Services) an Kunde (Client) nimmt von Anbietern angebotene Leistungen in Anspruch Details der Inanspruchnahme
MehrDas Ersetzbarkeitsprinzip
Das Ersetzbarkeitsprinzip U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Dieses Ersetzbarkeitsprinzip benötigt man für den Aufruf einer Routine
MehrKlassenbeziehungen & Vererbung
Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in
MehrOOP. Tagesprogramm. Zusicherungen Zusicherungen und Ersetzbarkeit
1 2016-11-09 Tagesprogramm Zusicherungen Zusicherungen und Ersetzbarkeit 2 Ersetzbarkeit und Verhalten U ist Untertyp von T wenn Instanz von U überall verwendbar wo Instanz von T erwartet Struktur der
MehrSEP 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
MehrObjektorientierte 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/
MehrErsetzbarkeit und Verhalten
Ersetzbarkeit und Verhalten U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Struktur der Typen für Ersetzbarkeit nicht ausreichend Beispiel: void
MehrZusicherungen A01 OOP. Zusicherungen
2013-10-23 Zusicherungen 1 185.A01 OOP Zusicherungen 2013-10-23 Zusicherungen 2 OOP Ersetzbarkeit und Verhalten U ist Untertyp von T wenn eine Instanz von U überall verwendbar ist wo eine Instanz von T
MehrJava 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
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrOO Softwareentwicklung
OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung
MehrWintersemester 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
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrBEISPIELKLAUSUR Softwareentwicklung:
Prof. Dr. Andreas Fink Institut für Informatik Fakultät für Wirtschafts- und Sozialwissenschaften Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg BEISPIELKLAUSUR Softwareentwicklung: Objektorientierte
MehrInteraktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten
Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere
MehrVererbung & 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
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrSoftware 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
MehrKlassenentwurf. 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
MehrKlassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla
BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung
Mehr5. 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:
MehrProgrammieren 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
MehrUse Cases. Use Cases
Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben
MehrGebundene Typparameter
Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte
MehrFormular»Fragenkatalog BIM-Server«
Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
Mehr5. 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,
MehrStatuten in leichter Sprache
Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
MehrFolgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:
Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal
MehrOSF Integrator für Btracking und Salesforce Anleitung für die Nutzer
OSF Integrator für Btracking und Salesforce Anleitung für die Nutzer Inhalt Beschreibung... 2 Beginn der Nutzung... 2 OSF Integrator für Btracking und Salesforce... 3 1. Fügen Sie Rechnungs- und Versandadressen
MehrINDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline
Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrSichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben
Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrEinführung in die Programmierung für NF
Einführung in die Programmierung für NF UML Valerie Holmeyer Michael Kirsch Direct Feedback Eure Mitarbeit ist mir wichbg Quiz nach den jeweiligen AbschniGen Jeder kann mitmachen App socra&ve auf Smartphone
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
MehrPädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung
Variante 1 Swisscom-Router direkt ans Netzwerk angeschlossen fixe IP-Adressen (kein DHCP) 1. Aufrufen des «Netz- und Freigabecenters». 2. Doppelklick auf «LAN-Verbindung» 3. Klick auf «Eigenschaften» 4.
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrVermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
Mehrmy.ohm Content Services Autorenansicht Rechte
my.ohm Content Services Autorenansicht Rechte Felizitas Heinebrodt Technische Hochschule Nürnberg Rechenzentrum Kesslerplatz 12, 90489 Nürnberg Version 2 August 2015 DokID: cs-rechte-autor Vers. 2, 18.08.2015,
MehrKundenregistrierung am egeodata Austria Portal
Kundenregistrierung am egeodata Austria Portal Dieses Tutorial soll zeigen, wie sich ein neuer Kunde am egeodata Austria Portal registriert. Die Registrierung ist erforderlich, um fortgeschrittene oder
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrWindows Server 2008 (R2): Anwendungsplattform
Mag. Christian Zahler, Stand: August 2011 13 14 Mag. Christian Zahler, Stand: August 2011 Mag. Christian Zahler, Stand: August 2011 15 1.5.2 Remotedesktop-Webverbindung Windows Server 2008 (R2): Anwendungsplattform
MehrProfessionelle Seminare im Bereich MS-Office
Gegenüber PowerPoint 2003 hat sich in PowerPoint 2007 gerade im Bereich der Master einiges geändert. Auf Handzettelmaster und Notizenmaster gehe ich in diesen Ausführungen nicht ein, die sind recht einfach
MehrLizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
MehrDialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen
Dialognetze Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen Dialogabläufe auf Fensterebene "grobe Dialogabläufe" d.h. Wechsel zwischen
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrKurzanweisung für Google Analytics
Kurzanweisung für Google Analytics 1. Neues Profil für eine zu trackende Webseite erstellen Nach dem Anmelden klicken Sie rechts oben auf den Button Verwaltung : Daraufhin erscheint die Kontoliste. Klicken
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrWhitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager email-rückläufer Script. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 7 combit Relationship Manager email-rückläufer Script Inhalt Einleitung 3 Notwendige Anpassungen 3 crm Solution
Mehr7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure
7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrAnleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine
Seite 1 von 11 Anleitung Inhalt Inhalt... 1 1. Installation... 2 2. Setup... 2 2.1 Login... 2 2.2 Benutzer erstellen... 2 2.3 Projekt erstellen... 4 2.4 SVN/Git Integration... 6 2.4.1 Konfiguration für
MehrJava Virtual Machine (JVM) Bytecode
Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,
MehrLizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
Mehr1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten
1. Einschränkung für Mac-User ohne Office 365 Mac-User ohne Office 365 müssen die Dateien herunterladen; sie können die Dateien nicht direkt öffnen und bearbeiten. Wenn die Datei heruntergeladen wurde,
MehrFachdidaktik 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,
MehrNathan Burgener. Design by Contract. Modul SWE
NathanBurgener DesignbyContract ModulSWE NathanBurgener Inhaltsverzeichnis 1 WasistDesignbyContract...3 1.1 Überblick...3 1.2 DesignbyContractmitMethoden...4 1.3 DesignbyContractmitKlassen...5 1.4 Vererbung...6
MehrGRS SIGNUM Product-Lifecycle-Management
GRS SIGNUM Product-Lifecycle-Management Das optionale Modul Product-Lifecycle-Management stellt eine mächtige Ergänzung zum Modul Forschung & Entwicklung dar. Folgende Punkte werden dabei abgedeckt: Definition
MehrInternet Explorer Version 6
Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster
MehrInterCafe 2010. Handbuch für Druckabrechnung
Handbuch für InterCafe 2010 Der Inhalt dieses Handbuchs und die zugehörige Software sind Eigentum der blue image GmbH und unterliegen den zugehörigen Lizenzbestimmungen sowie dem Urheberrecht. 2009-2010
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
MehrGesicherte Prozeduren
Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
Mehr1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung
K05 Vererbung & Polymorphie in C++ 1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung 2 Vererbung in C++: Grundlagen Analog zu Java unterstützt C++ das Konzept der Vererbung:
MehrDesign by Contract with JML
Thema: Design by Contract with JML Proseminar: Assertions Verfasser: Literatur: Betreuer: Natalya Moriz Gary T.Leavens and Yoonsik Cheon: Design by Contract with JML Prof. Dr. Heike Wehrheim 1 Inhalt DBC
MehrEinrichtung von VPN-Verbindungen unter Windows NT
www.netzwerktotal.de Einrichtung von VPN-Verbindungen unter Windows NT Installation des VPN-Servers: Unter "Systemsteuerung / Netzwerk" auf "Protokolle / Hinzufügen" klicken. Jetzt "Point to Point Tunneling
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrDigital signierte Rechnungen mit ProSaldo.net
Digital signierte Rechnungen mit ProSaldo.net Digitale Signatur der PDF-Rechnungen Hier finden Sie eine Anleitung, wie beim erstmaligen Öffnen von digital signierten PDF- Rechnungen, die mit ProSaldo.net
MehrBeschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung
Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung
MehrPHP Aufbaukurs. Tag 3. PHP5 & Klassen
PHP Aufbaukurs Tag 3. PHP5 & Klassen Organisatorisches 2 Igor Olkhovskiy Dr. Dipl.- Ing. Kontakt: olkhovskiy@rrzn.uni-hannover.de PHP Aufbaukurs 19.09.2006 Folie 2 PHP. OOP. Geschichte 3 PHP/FI ( PHP 1
MehrNeuer Releasestand Finanzbuchhaltung DAM-EDV E.1.22. Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...
Neuer Releasestand Finanzbuchhaltung DAM-EDV E.1.22 Inhaltsverzeichnis 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC... 2 1a. Programm 257: Auflösen Vorschlag Telebanking... 2 1b. Programm 254:
MehrDie 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
MehrProgrammieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen
Einleitende Bemerkungen Einleitende Bemerkungen Ideen hinter der objektorientierten Programmierung Objekte (/* Instanzen einer Klasse */) im Mittelpunkt Objekte bilden Einheit aus Daten (/* Attributen,
MehrSession Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de
s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful
MehrTutorial. Wie kann ich meinen Kontostand von meinen Tauschpartnern in. übernehmen? Zoe.works - Ihre neue Ladungsträgerverwaltung
Wie kann ich meinen Kontostand von meinen Tauschpartnern in Tutorial übernehmen? 1. Schritt : Legen Sie ein Startdatum fest Im ersten Schritt legen Sie für Ihr Unternehmen ein Startdatum fest, an dem Sie
MehrGrundbegriffe 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
MehrSoftware 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
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E
MehrPhysik & Musik. Stimmgabeln. 1 Auftrag
Physik & Musik 5 Stimmgabeln 1 Auftrag Physik & Musik Stimmgabeln Seite 1 Stimmgabeln Bearbeitungszeit: 30 Minuten Sozialform: Einzel- oder Partnerarbeit Voraussetzung: Posten 1: "Wie funktioniert ein
MehrHow-to: Webserver NAT. Securepoint Security System Version 2007nx
Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
Mehr