Einführung in das objektorientierte Programmieren
|
|
|
- Hannah Bäcker
- vor 10 Jahren
- Abrufe
Transkript
1 Einführung in das objektorientierte Programmieren Nils Schmeißer Forschungszentrum Rossendorf e.v. Objektorientiertes Programmieren - Nils Schmeißer 1 Inhalt Programmiersprachen Der objektorientierte Programmierstil Begriffsbestimmung, Theorie, Anwendung OO Sprachen C++ und Standardbibliotheken (STL, MFC) Turbo-PASCAL, Java, Smalltalk, Eiffel, Oberon andere OO Systeme Objektorientiertes Programmieren - Nils Schmeißer 2 1
2 Literatur A Theory of Objects ; M. Abadi, L. Cardelli Eiffel: The Language ; B. Meyer Programming in Oberon: Steps beyond Pascal and Modula ; M. Reiser, N. Wirth The C++ Programming Language ; B. Stroustrup Java - Die Programmiersprache ; K. Arnold, J. Gosling Objektorientierte Datenbanken ; A. Heuer Objektorientiertes Programmieren - Nils Schmeißer 3 Andere Quellen Unterlagen zum OOP/C++-Kurs: Unterlagen zum C-Kurs: Objektorientiertes Programmieren - Nils Schmeißer 4 2
3 Geschichte der Programmierspr. Assembler FORTRAN Algol68 BC PL Sketchpad 1970 Pascal C Simula Smalltalk Modula Turbo-Pascal 5.5 Ada C++ Eiffel Smalltalk Oberon Ada95 Java Objektorientiertes Programmieren - Nils Schmeißer 5 Programmiersprachen imperative Sprachen Ada, ALGOL, BASIC, C, COBOL, FORTRAN, Modula-2, PL/1, Pascal, Simula, Snobol funktionale und applikative Sprachen Lisp, Logo prädikative Sprachen Prolog objektorientierte Sprachen Smalltalk, Eiffel, Oberon, Java, Turbo-Pascal, C++, Fortran2000 Objektorientiertes Programmieren - Nils Schmeißer 6 3
4 imperative Sprachen 1 ein Programm besteht aus einer Menge von Befehlen BASIC: 10 let n= gosub nf=nfak 40 end 50 let nfak=1 60 for ifak=1 to n 70 nfak=nfak*i 80 next i 90 return Objektorientiertes Programmieren - Nils Schmeißer 7 imperative Sprachen 2 prozedurale Sprachen gruppieren Befehle in Unterprogrammen C: int fac(int n) { if (n==0) return 1; return n*fac(n-2); }... nf=fac(n); Objektorientiertes Programmieren - Nils Schmeißer 8 4
5 funktionale und applikative Sp. ein Programm besteht aus einer Menge von Funktionen und deren Anwendung Lisp: (fac (n) (cond ((equal n 0) 1) (times n (fac (difference n 1) ) ) ) )... (fac n) Objektorientiertes Programmieren - Nils Schmeißer 9 prädikative Sprachen in prädikativen Sprachen wird eine Menge von Fakten und Regeln vorgegeben Prolog: fac(0,1). fac(n,f) -> fac(n-1,n*f). Objektorientiertes Programmieren - Nils Schmeißer 10 5
6 objektorientierte Sprachen 1 alle zum Lösen eines Problems nötigen Informationen werden als Objekte aufgefaßt Objekte empfangen und versenden Nachrichten Integer a Integer a,b; a * b value * Integer b value * Objektorientiertes Programmieren - Nils Schmeißer 11 objektorientierte Sprachen 2 Smalltalk: Object subclass: #Integer instancevariablenames: value fac nfak:=integer new. [0=value] iftrue: [ nfak set: 1. ] iffalse: [ nfak set: (((self minus: 1) fac: ) times: value ). ] ^nfak.! n:=(integer new) set:... n fac. Objektorientiertes Programmieren - Nils Schmeißer 12 6
7 Der objektorientierte P.-Stil Basiskonzept (abstrakter Datentyp) Begriffsbestimmung Objekt, Klasse, Instanz, Attribut, Methode Vererbung Polymorphie OOD (object oriented development) Kriterien für OO Sprachen Objektorientiertes Programmieren - Nils Schmeißer 13 abstrakter Datentyp 1 das Basiskonzept der objektorientierten Programmierung bildet der abstrakte Datentyp (ADT) ein ADT wird definiert durch: seinen Wertebereich (Sorte) die, über dem Wertebereich erklärten Operationen eine Menge von Vorbedingungen eine Menge von Axiomen Objektorientiertes Programmieren - Nils Schmeißer 14 7
8 abstrakter Datentyp 2 eine Sorte kann formal als Struktur dargestellt Beispiel: bzw. koord=sort Integer x; Integer y; koord=x:integer+y:integer Komponenten Objektorientiertes Programmieren - Nils Schmeißer 15 abstrakter Datentyp 3 einem ADT werden Operationen (die nicht notwendig nur Operanden vom Sortentyp enthalten) zugeordnet Beispiel: vec=adt(koord) SetX:(vec,Integer); +:(vec,vec)->vec; norm:(vec)->integer; Objektorientiertes Programmieren - Nils Schmeißer 16 8
9 abstrakter Datentyp 4 zur vollständigen Beschreibung eines ADT s gehören zusätzlich die Vorbedingungen pre: x=0; y=0; eine Menge von Axiomen (Spezifikationen), die das Verhalten der Operationen festlegen + (vec a,vec b) =(x=a.x+b.x,y=a.y+b.y) Objektorientiertes Programmieren - Nils Schmeißer 17 abstrakter Datentyp 5 Beschreibung nach Meyer: TYPE vec[koord] FUNCTIONS SetX: vec[koord] x Integer->vec[koord] +: vec[koord] x vec[koord] -> vec[koord] norm: vec[koord] -> Integer CONDITIONS AXIOMS FOR ALL i:integer,a,b,c:vec[koord]: SetX(a,i) = a.x := i +(a,b) = c: ( c.x:=a.x+b.x, c.y:=a.y+b.y ) norm(a) = max(a.x, a.y) Objektorientiertes Programmieren - Nils Schmeißer 18 9
10 abstrakter Datentyp 6 abstrakte Datentypen werden als Klassen implementiert Beispiel: class vec is Integer x,y; vec + (vec a,vec b) is return vec(a.x+b.x,a.y+b.y); Objektorientiertes Programmieren - Nils Schmeißer 19 Begriffsbestimmung 1 Objekt: eigenständiges Individuum mit charakteristischen Eigenschaften einem inneren Zustand Attributen Methoden Objektorientiertes Programmieren - Nils Schmeißer 20 10
11 Beispiel Kreis : charakteristische Eigenschaften: alle Punkte des Kreises habe den gleichen Abstand zum Mittelpunkt innerer Zustand: sichtbar/unsichtbar Attribute: Position, Radius, Farbe Methoden Darstellen (Zeichnen), Verschieben Objektorientiertes Programmieren - Nils Schmeißer 21 Begriffsbestimmung 2 Klasse: ist die Vereinigung und formale Beschreibung aller Objekte mit gleichen Eigenschaften Klassen können als Implementation abstrakter Datentypen aufgefaßt werden Klassen werden auch als Objektfabriken bezeichnet Objektorientiertes Programmieren - Nils Schmeißer 22 11
12 Beispiel class Kreisklasse is Punkt Mittelpunkt; Real Radius; Color Farbe; Kreis New(Punkt M0,Real R0,Color C0); Zeichnen(); Verschieben(Punkt NeuerMittelpunkt); Objektorientiertes Programmieren - Nils Schmeißer 23 Begriffsbestimmung 3 eine Instanz ist die konkrete Realisierung eines Objektes einer Klasse eine Instanz ist genau ein Objekt Instanzen haben einen Gültigkeitsbereich (Lebensbereich) Instanzen werden durch einen Konstruktor erzeugt und einen Destruktor zerstört Objektorientiertes Programmieren - Nils Schmeißer 24 12
13 Beispiel program p1 is Kreis k3=kreisklasse::new((4,5),3,grün); subprogram ps1 is Kreis k1=kreisklasse::new((1,2),3,rot); Kreis k2=kreisklasse::new((1,2),3,rot); obwohl k1 und k2 die gleichen Attributwerte haben, sind es voneinander verschiedene Objekte Objektorientiertes Programmieren - Nils Schmeißer 25 Begriffsbestimmung 4 Attribute sind die Variablen, die den inneren Zustand eines Objektes beschreiben Attribute korrespondieren in ihrer Bedeutung mit den Sorten des abstrakten Datentyps die zugehörige Klasse heißt Komponentenklasse Objektorientiertes Programmieren - Nils Schmeißer 26 13
14 Beispiel class Punktklasse is... class Kreisklasse is Punkt Mittelpunkt; Real Radius;... die Klasse Punktklasse ist eine Komponentenklasse von Kreisklasse Objektorientiertes Programmieren - Nils Schmeißer 27 Begriffsbestimmung 5 Methoden sind die über einer Klasse erklärten und ihr zugeordneten Operationen zwei spezielle Methoden Konstruktor: generiert eine Instanz Destruktor: zerstört eine Instanz ein Methodenaufruf ist Teil einer Nachricht, die an ein Objekt versandt wird Objektorientiertes Programmieren - Nils Schmeißer 28 14
15 Beispiel program p1 is Kreis k3=kreisklasse::new((4,5),3,grün);... k3. Verschieben((7,8)) ; die gesamte, an k3 versendete Nachricht lautet: k3: Verschiebe (dich) nach (7,8) Objektorientiertes Programmieren - Nils Schmeißer 29 Vererbung 1 Vererbung ist die Weitergabe von Eigenschaften (Attributen und Methoden) einer Basisklasse an eine abgeleitete Klasse die Weitergabe von Werten ist ebenfalls möglich (Klonen) Objektorientiertes Programmieren - Nils Schmeißer 30 15
16 Vererbung 2 Vererbung gibt es in verschiedenen Ausprägungen: Spezialisierung: Objektmenge der Unterklasse ist Teilmenge der Objektmenge der Oberklasse Is-a Hierarchie: wie Spezialisierung Typhierarchie: jedes Objekt des Untertyps verhält sich wie ein Objekt des Obertyps Klassenhierarchie: Vererbung der Implementation Objektorientiertes Programmieren - Nils Schmeißer 31 Beispiel class Ellipsenklasse is Punkt Mittelpunkt; Real a,b; Ellipse New(Punkt M0,Real a0,real b0); Verschieben(Punkt NeuerMittelpunkt); subclass Kreisklasse of Ellipsenklasse is Punkt Mittelpunkt; Real a,b; // a=b Kreis New(Punkt M0,Real R0); Verschieben(Punkt NeuerMittelpunkt); Objektorientiertes Programmieren - Nils Schmeißer 32 16
17 Vererbung 3 es wird ebenfalls zwischen einfacher und mehrfacher Vererbung unterschieden Basisklasse Basisklasse1 Basisklasse2 x x x x x Objektorientiertes Programmieren - Nils Schmeißer 33 Vererbung 4 speziell auf die Weitergabe von Methoden bezogen ist Ersetzung: das vollständige Überschreiben einer Methode Verfeinerung: die ererbte Methode wird innerhalb der neuen Methode gerufen Delegation: die Ausführung einer Methode wird an ein Objekt der Oberklasse (Prototyp) weitergereicht Objektorientiertes Programmieren - Nils Schmeißer 34 17
18 Beispiel Ellipsenklasse::Skalieren(Real fa,real fb)is a=a*fa; b=b*fb; Ersetzung: Kreisklasse::Skalieren(Real f) is a=a*f; b=b*f; Verfeinerung: Kreisklasse::Skalieren(Real f) is Ellipsenklasse::(f,1.0); b=b*f; Delegation: Kreisklasse::Skalieren(Real f) is Ellipsenklasse::(f,f); Objektorientiertes Programmieren - Nils Schmeißer 35 Vererbung 5 manchmal kann es sinnvoll sein, die Erzeugung von Instanzen bestimmter Klassen zu verbieten (Festlegung eines Konzeptes); solche Klassen werden abstrakte (Basis-)Klassen genannt Objektorientiertes Programmieren - Nils Schmeißer 36 18
19 Beziehungen zwischen Klassen 1 erbt eine Klasse B von einer Klasse A, so heißt A Basisklasse oder Superklasse von B, B heißt Subklasse B genügt der is-a Relation (B is-a A) B A Objektorientiertes Programmieren - Nils Schmeißer 37 Beziehungen zwischen Klassen 2 besitzt eine Klasse A ein Attribut vom Typ der Klasse C, so heißt C Komponentenklasse von A A genügt der has-a Relation (A has-a C) A C Objektorientiertes Programmieren - Nils Schmeißer 38 19
20 Beziehungen zwischen Klassen 3 benutzt eine Klasse A eine Instanz der Klasse D, so genügt A der use-a Relation (A use-a D) A D die Relationen sind vererbbar, also B has-a C und B use-a D Objektorientiertes Programmieren - Nils Schmeißer 39 Polymorphie 1 class Gear is SwitchUp() is... subclass ManualGear of Gear is SwitchUp() is... subclass AutomaticGear of Gear is SwitchUp() is... die Methode SwitchUp() kann in vielen verschiedenen Formen auftreten, sie heißt polymorph Objektorientiertes Programmieren - Nils Schmeißer 40 20
21 Polymorphie 2 neben dem universellen Polymorphismus (vorhergehende Folie) gibt es den ad-hoc Polymorphismus Integer Trunc(Integer x); Integer Trunc(Real x); ad-hoc P. basiert auf dem Konzept der impliziten Typkonversion Objektorientiertes Programmieren - Nils Schmeißer 41 Polymorphie 3 das Konzept der Polymorphie erlaubt somit unterschiedliche Sichtweisen auf Objekte Beispiel: eine Instanz der Klasse ManualGear ist ebenfalls mit den Eigenschaften der Klasse Gear ausgestattet, kann also wie eine solche agieren Objektorientiertes Programmieren - Nils Schmeißer 42 21
22 Polymorphie 4 eine Variable vom Typ einer Superklasse kann somit auch eine Instanz vom Typ einer Subklasse aufnehmen Beispiel: Gear g; g=new ManualGear; Objektorientiertes Programmieren - Nils Schmeißer 43 Bindung 1 der Bindungsmechanismus beschreibt, wie eine Methode einer Klasse aufgerufen wird verschiedene Bindungskonzepte erlauben eine effiziente Wiederverwendung bzw. gemeinsame Nutzung von Code auf sehr elegante Art und Weise Objektorientiertes Programmieren - Nils Schmeißer 44 22
23 !!!! Bindung 2 statische Bindung: während der Übersetzung wird die Klassenzugehörigkeit der Instanz bestimmt und daraus die zu rufende Methode ermittelt Beispiel: ManualGear g=new ManualGear; g.switchup(); ruft die Methode der Klasse ManualGear Gear g=new ManualGear; g.switchup(); die der Klasse Gear Objektorientiertes Programmieren - Nils Schmeißer 45 Bindung 3 dynamische (späte) Bindung: die Klassenzugehörigkeit der Instanz wird erst zur Laufzeit bestimmt Beispiel: ManualGear g=new ManualGear; g.switchup(); ruft die Methode der Klasse ManualGear Gear g=new ManualGear; g.switchup(); ruft ebenfalls die der Klasse ManualGear Objektorientiertes Programmieren - Nils Schmeißer 46 23
24 " " " Bindung 4 späte Bindung wird nicht von allen Sprachen unterstützt standardmäßig wird eine Methode statisch gebunden dynamisch zu bindende Methoden werden durch ein spezielles Schlüsselwort (meist virtual ) gekennzeichnet virtuelle Methoden Objektorientiertes Programmieren - Nils Schmeißer 47 Bindung 5 class Gear is Init(); virtual SwitchUp() is... subclass ManualGear of Gear is Init(); virtual SwitchUp() is... Gear g = new ManualGear; g.init(); // Gear::Init g.switchup(); // ManualGear::SwitchUp Objektorientiertes Programmieren - Nils Schmeißer 48 24
25 # # Beispiel 1 ein Verfahren zum Lösen von Gleichungssystemen A x = b wird implementiert $ ist A dünn besetzt, so werden die nicht-0 Elemente normalerweise als Liste abgelegt, um Speicherplatz zu sparen der Löser müßte neu implementiert werden Objektorientiertes Programmieren - Nils Schmeißer 49 Beispiel 2 die Neuimplementation ist nicht nötig, wenn der Löser über class Matrix is int n,m; Datastruct data; virtual real Get(int z,int s); virtual void Set(int z,int s,real v); erklärt wird Matrix Solver(Matrix A,Matrix b); Objektorientiertes Programmieren - Nils Schmeißer 50 25
26 % Beispiel 3 Matrix Solver(Matrix A,Matrix b) is int i,j,k; real f; Matrix x = new Matrix; for k = 0 to A.n do begin if abs(a.get(k,k))<eps then swap(); for i = k+1 to A.n do begin f=a.get(i,k)/a.get(k,k); for j = k+1 to A.m do A.Set(i,j,A.Get(i,j)-f*A.Get(k,j)); b.set(i,b.get(i)-f*b.get(k)); return x; Objektorientiertes Programmieren - Nils Schmeißer 51 Beispiel 4 eine dünn besetzte Matrix kann dann z.b. als subclass SparseMatrix of Matrix is int n,m; Datalist data; virtual real Get(int z,int s); virtual void Set(int z,int s,real v); erklärt werden Objektorientiertes Programmieren - Nils Schmeißer 52 26
27 & Beispiel 5 der Löser kann auch dann auf SparseMatrix Objekte angewandt werden, wenn sein Quelltext nicht verfügbar ist (Bibliothek) Matrix A = new SparseMatrix; Matrix b = new Matrix; Matrix x;... x=solver(a,b); Objektorientiertes Programmieren - Nils Schmeißer 53 Zusammenfassung abstrakter Datentyp Klassenkonzept ' Klasse, Instanz, Objekt Vererbung ' einfach, mehrfach Polymorphie Bindung ' statische und späte Bindung, virtuelle Methode Objektorientiertes Programmieren - Nils Schmeißer 54 27
28 ( ( ( ) ) ) Und warum das Ganze? Programme sollen: sicher sauber wiederverwendbar lesbar schnell sein Objektorientiertes Programmieren - Nils Schmeißer 55 Softwareentwurf 1 Modularisierung ) nach Funktionen:» Funktionensammlungen, Bibliotheken nach Daten bzw. Objekten:» Klassenpool Top-down Entwurf Anwendung abstrakte Funktion Zerlegung festgelegter Systementwurf Objektorientiertes Programmieren - Nils Schmeißer 56 28
29 * * Softwareentwurf 2 Object Oriented Design + Identifiziere Objekte + Beschreibe Objekte + Beziehungen und Gemeinsamkeiten zwischen Objekten + Klassenbildung + Beziehungen zwischen Klassen + Klassenhierarchie + Methodenimplementation + Programm aus Objektbeschreibung Objektorientiertes Programmieren - Nils Schmeißer 57 Kriterien für OO-Sprachen 1 nach Meyer + Modularisierung nach Objekten + Abstrakte Datentypen + Freispeicherverwaltung (! C++) + Module, Klassen und Standardtypen + Vererbung + Polymorphismus und dynamische Bindung + Mehrfachvererbung (! Smalltalk) Objektorientiertes Programmieren - Nils Schmeißer 58 29
30 ,,, Kriterien für OO-Sprachen 2 nach Wegner - Objekte - Klassen - Vererbung Strenge Typisierung Abstrakte Datentypen Nebenläufigkeit Persistenz Objektorientiertes Programmieren - Nils Schmeißer 59 OO-Sprachen bedeutend Turbo-Pascal, Delphi, C++, Java, Smalltalk-80, Oberon-2, Eiffel, Ada 95 weniger bedeutend CLOS, Modula-3, Objective-C, Python, Sather, Simula, Tcl/Tk, VBScript, Visual Basic, Objective-Pascal Objektorientiertes Programmieren - Nils Schmeißer 60 30
31 Objektorientiertes Programmieren - Nils Schmeißer 61 31
Objektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
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:
Grundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
Klassenbeziehungen & Vererbung
Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in
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
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
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
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
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
Objektorientiertes JavaScript
Objektorientiertes JavaScript Christoph Fabritz [email protected] http://goo.gl/jzqxnw Inhalt JavaScript Objektorientierung OO in JavaScript Literatur JavaScript Interpretiert / gescriptet Dynamische
OO Softwareentwicklung
OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung
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/
1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi
1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in
Objektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
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
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
Prinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
3 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
Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.
Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil
Funktionale Programmierung (in Clojure)
Funktionale Programmierung (in Clojure) Einführung Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Wintersemester 2014/15 Übersicht Paradigmen von Programmiersprachen Paradigmen von Programmiersprachen
Kapitel 12: Übersetzung objektorienter Konzepte
Kapitel 12: Übersetzung objektorienter Konzepte Themen Klassendarstellung und Methodenaufruf Typüberprüfung Klassenhierarchieanalyse Escape Analyse 12.1 Klassendarstellung bei Einfachvererbung class Punkt
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:
Was ist Logische Programmierung?
Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm
Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000
Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,
Kapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
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,
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
Grundlagen der Informatik für Ingenieure I
3 Einführung in das objektorientierte Programmier-Paradigma 3 Einführung in das objektorientierte Programmier-Paradigma 3.1.1 Top-down structured design 3.1.2 Data-driven design 3.1.3 Object-oriented design
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,
Kapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
Client-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.
GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen Teil 1: Einführung: Wissensbasis und Ontologie Was ist eine Wissensbasis? Unterschied zur Datenbank: Datenbank: strukturiert
Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java
Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen
Programmieren 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,
Robot Karol für Delphi
Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško
Prof. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
VBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern
Objektorientierte Programmierung mit Python Polymorphismus und Vererbung Eltern Kind Kind Kind Kind Prinzipien der objektorientierten Programmierung Vererbung Strukturierung von Klassen. Oberbegriffe beschreiben
Kapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
Einführung in Eclipse und Java
Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik
Einführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure
7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG
Vorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
Objektorientierte Programmiersprachen
Objektorientierte Programmiersprachen 1960 Algol 1970 Simula Pascal 1980 Smalltalk C Ada 1990 C++ Eiffel Eine ovale Box symbolisiert eine objektorientierte Programmiersprache. Eine rechteckige Box steht
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
Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
GetName(), GetName(), GetGeschlecht() und AelterWerden().
11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer
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
1. 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:
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
Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN
Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Inhalt dieser Einheit JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:
Java Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
Ü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
4 Vererbung, Polymorphie
4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work
Java lernen mit BlueJ
Java lernen mit BlueJ Eine Einführung in die objektorientierte Programmierung David J. Barnes Michael Kölling 4.0 Lernen in Eigenregiegi Vorlesungen Seminare Übungen Bücher Webseiten Diskussionslisten
Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach
Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler Joliot-Curie-Gymnasium GR 2010 Nico Steinbach 0. Organisatorisches Warum habt Ihr euch für den Kurs eingeschrieben?
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
Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten
Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere
Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern
C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches
Klausur 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-
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
Objektorientierte Programmierung
Objektorientierte Programmierung Ein Computerprogramm besteht aus Funktionen (Programmabschnitten, die etwas tun) und Variablen (Speicherplätzen für Informationen). Werden Funktionen aktiviert, verändern
Datenbankmodelle 1. Das Entity-Relationship-Modell
Datenbankmodelle 1 Das Entity-Relationship-Modell Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle ER Modell - 2 Was kann modelliert werden?
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/
Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
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.
5.6 Vererbung. Vererbung
5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug
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
Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
Objektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
Whitebox-Vererbung vs. Blackbox-Vererbung. - Begriffsbestimmung - Vererbung öffentliche Vererbung private Vererbung - Zusammenfassung
Whitebox-Vererbung vs. Blackbox-Vererbung - Begriffsbestimmung - Vererbung öffentliche Vererbung private Vererbung - Zusammenfassung Begriffsbestimmung Whitebox- oder Glassbox-Testverfahren - auch Strukturtest-Verfahren
Algorithmen und Programmieren II Einführung in Python
Algorithmen und Programmieren II Einführung in Python SS 2012 Prof. Dr. Margarita Esponda 1 Was ist Python? eine Skript-Sprache Anfang der 90er Jahre entwickelt. Erfinder: Guido van Rossum an der Universität
Programmiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
3. Stored Procedures und PL/SQL
3. Stored Procedures und PL/SQL 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
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
Einführung in PHP. (mit Aufgaben)
Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites
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
III.1 Prinzipien der funktionalen Programmierung - 1 -
1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung
Objektorientierte Programmierung
Programmierkurs C++ Kapitel 7:Objektorientierte Programmierung Seite 1 Objektorientierte Programmierung If programming in PASCAL is like put in a straightjacket, then programming in C is like playing with
Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
Kompilieren und Linken
Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang
Vererbung und Polymorphismus
Vererbung und Polymorphismus Benno List OO Get-Together 29.5.06 B. List 29.5.06 Vererbung und Polymorphismus Page 1 Klassen (Wiederholung) Klasse: Datenstruktur mit data members: Variablen: enthalten Informationen
PHP Aufbaukurs. Tag 3. PHP5 & Klassen
PHP Aufbaukurs Tag 3. PHP5 & Klassen Organisatorisches 2 Igor Olkhovskiy Dr. Dipl.- Ing. Kontakt: [email protected] PHP Aufbaukurs 19.09.2006 Folie 2 PHP. OOP. Geschichte 3 PHP/FI ( PHP 1
4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
White Paper. Konfiguration und Verwendung des Auditlogs. 2012 Winter Release
White Paper Konfiguration und Verwendung des Auditlogs 2012 Winter Release Copyright Fabasoft R&D GmbH, A-4020 Linz, 2011. Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen
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
Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012
Programmieren Lernen mit BYOB Informatiktag 2012 Gerald Futschek 5. November 2012 Erste Programmier Schritte in der Schule Sehr viele verschiedene Dinge zu lernen: Syntax und Semantik der Befehle, Algorithmen,
Graphic Coding. Klausur. 9. Februar 2007. Kurs A
Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt
Vererbung in der OOP
in der OOP Mirko Carl-Zeiss-Gymnasium Jena Fachbereich Informatik Workshop zur OOP-Fortbildung Jena, 26. 5. 2009 Gliederung 1 Objektorientierung - Grundlagen 2 3 4 Gliederung 1 Objektorientierung - Grundlagen
Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015
Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum
Objektorientierung: Klassen und Objekte
Vorlesung und Übung Universität Paderborn Wintersemester 2015/2016 Dr. Peter Pfahler Objektorientierung: Klassen und Objekte EWS, WS 2015/16, Pfahler L-1 Objektorientierung behandelt in "Einführung in
Formale Sprachen und Grammatiken
Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax
Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
Abschnitt 9: Schnittstellen: Interfaces
Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung
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
C/C++-Programmierung
1 C/C++-Programmierung new/delete, virtual, Typumwandlungen Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 new/delete
Datenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1
Datenbankmodelle 1 Das Entity-Relationship-Modell Prof. Dr. Bernhard Schiefer 2-1 Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle Prof. Dr.
Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen
Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von
