Objektorientierte Programmierung mit Python Objekt und Klassen

Größe: px
Ab Seite anzeigen:

Download "Objektorientierte Programmierung mit Python Objekt und Klassen"

Transkript

1 Objektorientierte Programmierung mit Python Objekt und Klassen hat Kanten hat eine Farbe hat eine Kantenfarbe Rechteck zeichnen Rechteck einfärben Rechteck drehen

2 Modulare Programmierung Eine Aufgabe wird in viele kleine Aufgaben zerlegt. Jede kleine Aufgabe ist in sich abgeschlossen. Die Aufgabe kann von einem Entwickler-Team unabhängig von allen anderen programmiert werden. Jede kleine Aufgabe ist in einer Datei abgelegt. In dieser Datei werden die verschiedenen Aktionen in Funktionen abgelegt. Jede Funktion wiederum kann für sich allein getestet werden. Objektorientierte Programmierung, Seite 2

3 Beispiel start.py def Main(): Anweisungen rechenoperationen.py def Addition(...): Anweisungen def Subtraktion(...): Anweisungen eingabebildschirm.py def Eingabe(): Anweisungen Objektorientierte Programmierung, Seite 3

4 Objektorientierte Programmierung... abstrahiert Gegenstände der realen Wert, um sie in einem Programm abzubilden. beschreibt Objekte und verändert diese. versucht Daten und Funktionen eines Objekts in einer Struktur zu kapseln. Die Daten beschreiben das Objekt. Funktionen verändern die Attributwerte eines Objekts. Objektorientierte Programmierung, Seite 4

5 Beispiel Füllfarbe Rechteck zeichnen Breite / Länge x- / y-position Kantenfarbe Rechteck Rechteck verschieben Rechteck füllen Attribute (Variablen) Aktionen (Funktionen) Objektorientierte Programmierung, Seite 5

6 Prinzipien der objektorientierten Programmierung Abstraktion Objekte der realen Welt werden nachgebildet. Es werden nur die, für die Aufgabe des Projekts benötigten Elemente abgebildet. Datenkapselung: Für Außenstehende ist das Objekt eine Black Box. Variablen und die dazugehörigen Funktionen werden zusammengefasst. In dieser Black Box wird mit Hilfe von Variablen das Objekt beschrieben. Funktionen verändern die Variablen eines Objekts. Wie sie aber die Attribute verändern, ist dem Nutzer nicht bekannt. Objektorientierte Programmierung, Seite 6

7 Objekte... beschreiben einen Gegenstand, Person etc. aus der realen Welt. sind Substantive in einem Text. haben Attribute (Eigenschaften), die das Aussehen des Objekts beschreiben. haben Methoden, die die Attribute verändern. Methoden spiegeln das Verhalten eines Objekts wieder. Objektorientierte Programmierung, Seite 7

8 Beispiel Ein Würfel wird beschrieben: Der Würfel ist rot. Der Würfel hat eine Kantenlänge von 5 cm. Der Würfel kann gedreht werden. Der Würfel kann neu eingefärbt werden. Objektorientierte Programmierung, Seite 8

9 und in Python Everything is a object. In Python ist jedes Element ein Objekt. Objekte in Python... können Variablen (Attribute) und Funktionen (Methoden) haben, müssen aber nicht. sind an einen bestimmten Datentyp gebunden. können an Funktionen übergeben werden. werden mit Hilfe von Klassen beschrieben. werden mit speziellen Methoden erzeugt und initialisiert. Objektorientierte Programmierung, Seite 9

10 Beispiel: Funktion definieren und aufrufen «def Addition(zahlL, zahlr): return (zahll + zahlr)» summe = Addition(3, 5) print("addition(3, 5): ", summe) Objektorientierte Programmierung, Seite 10

11 Beispiel: Funktion als Rückgabewert nutzen «def Addition(zahlL, zahlr): return (zahll + zahlr) def FunctionXYZ(arg01, arg02): return Addition(arg01, arg02)» summe = FunctionXYZ(3, 5) print("functionxyz(3, 5): ", summe) Objektorientierte Programmierung, Seite 11

12 Beispiel: Funktion als Parameter nutzen «def Addition(zahlL, zahlr): return (zahll + zahlr) def FuncAsArgument(myFunction, arg01, arg02): return (myfunction(arg01, arg02))» summe = FuncAsArgument(Addition, 3, 5) print("funcasargument(addition, 3, 5) : ", summe) Objektorientierte Programmierung, Seite 12

13 Beispiel: Alias für eine Funktion «def Addition(zahlL, zahlr): return (zahll + zahlr)» myaddition = Addition summe = myaddition(3,5) print("myaddition(3,5) : ", summe) Objektorientierte Programmierung, Seite 13

14 Klassen... sind Baupläne, um bestimmte Objekt zu beschreiben. abstrahieren das Aussehen und Verhalten eines bestimmten Objekttyps. bieten eine Schablone, um Objekte abstrakt zu beschreiben. definieren Eigenschaften (Attribute) und Methoden, die alle Objekte eines bestimmten Typs besitzen. sind formale Beschreibungen für Objekte in einer bestimmten Programmiersprache. sind das Rezept, um ein bestimmtes Gericht herzustellen. Objektorientierte Programmierung, Seite 14

15 Beispiel Welche Eigenschaften hat jeder Würfel? Farbe. Kantenlänge Welche Methoden hat jeder Würfel? Drehen. Einfärben. Zeichnen. Objektorientierte Programmierung, Seite 15

16 Beschreibung mit Hilfe von UML Unified Modelling Language zur Darstellung von Klassen etc. Der Name der Klasse steht am oberen Rand. Dem Namen folgen die Attribute der Klasse und darunter die Methoden. In UML werden private Methoden und Attribute mit einem Minuszeichen und öffentliche Attribute und Methoden mit einem Pluszeichen gekennzeichnet. Wuerfel - farbe : string - kante: double +get_farbe() : string +get_laenge() : float +set_farbe() : string +set_laenge(): float +drehen_wuerfel() : void Objektorientierte Programmierung, Seite 16

17 und in Python «class Rechteck(object): anzahl = 0 farbekante = "Black" farbefuellung = "White" def init (self, parabreite = 10, parahoehe = 10): self.hoehe = parahoehe self.breite = parabreite» def setpos(self, xpos, ypos): self.xpos = xpos self.ypos = ypos Objektorientierte Programmierung, Seite 17

18 Klassenkopf «class Rechteck(object):» Jede Klasse beginnt mit dem Schlüsselwort «class». Dem Schlüsselwort folgt der Name der Klasse. Der Name ist frei wählbar. In den runden Klammern wird die Basisklasse «object» an die Klasse übergeben. Die Deklaration endet mit einem Doppelpunkt. Objektorientierte Programmierung, Seite 18

19 Regeln für Klassennamen Es können die Buchstaben a...z, A...Z, die Zahlen sowie der Unterstrich genutzt werden. Klassennamen beginnen mit einem Großbuchstaben. Häufig haben Klassennamen das Präfix C, um sie von anderen Elementen in Python zu unterscheiden. Unterscheidung zwischen Groß- und Kleinschreibung. Die Bezeichnungen c_rechteck und C_Rechteck bezeichnen unterschiedliche Klassen. Objektorientierte Programmierung, Seite 19

20 Weitere Hinweise Nutzen Sie aussagekräftige Namen. Der Oberbegriff aus der realen Welt sollte auch für die dazugehörige Klasse in Python genutzt werden. Jedes Teilwort eines Klassennamen beginnt mit mit einem Großbuchstaben. Es sollte nur ein Sprachraum genutzt. In einer Datei werden nur englischsprachige oder nur deutschsprachige Bezeichnungen genutzt. Englischsprachige Begriffe sollten aber nicht mit aller Macht übersetzt werden, wenn sie allgemein verständlich sind. Schlüsselwörter der Programmiersprache Python dürfen nicht genutzt werden. Objektorientierte Programmierung, Seite 20

21 in einer Projektbeschreibung Klassen entsprechen Substantiven in einer Projektbeschreibung. Das Konto wird für den Inhaber xyz von der Bank a eröffnet. Das Auto HI hat den Besitzer xyz. Mitarbeiter Müller arbeitet an dem Projekt Ausschreibung. Die Bestellung wird über einen Laserdrucker xyz ausgedruckt. Außendienstmitarbeiter Meier betreut Kunden im Bezirk Unterweser. Redundante oder für die Aufgabenstellung unnötige Klassen werden nicht implementiert. Objektorientierte Programmierung, Seite 21

22 Basisklasse als Argument «class Rechteck(object):». In den runden Klammern wird der benutzerdefinierten Klasse eine Basisklasse übergeben. Die Basisklasse ist die Eltern-Klasse der benutzerdefinierten Klasse. ist die übergeordnete Klasse. beschreibt die Klasse allgemein. Als Basisklasse wird standardmäßig die vordefinierte Klasse «object» genutzt. Die runden Klammern können leer sein. Objektorientierte Programmierung, Seite 22

23 Grafische Darstellung object list MyList dic classrechteck Objektorientierte Programmierung, Seite 23

24 Klassenrumpf... folgt nach dem Doppelpunkt des Klassenkopfes. kann nur aus der leeren Anweisungen «class» bestehen. definiert Attribute, die von allen Objekten einer Klasse gemeinsam genutzt werden. definiert Methoden, um die Attribute, die jedes Objekt hat, zu verändern. definiert eine Initialisierungsmethode für Objekte einer bestimmten Klasse. Objektorientierte Programmierung, Seite 24

25 Eine Instanz... ist eine Variable vom Datentyp Klasse. verweist auf ein bestimmtes Objekt einer bestimmten Kategorie. ist ein Synonym für ein Objekt. Das Objekt ist vom Typ der angegebenen Klasse. ist das mit Hilfe eines Rezept erstellte, fertige Gericht. kann beliebig oft von einer Klasse erzeugt werden. Objektorientierte Programmierung, Seite 25

26 erzeugen RechteckBlau = classrechteck.rechteck() RechteckGruen = classrechteck.rechteck(20,30) In diesem Beispiel wird die Instanz «RechteckBlau» erzeugt. Die Instanz verweist auf ein Objekt von der Klasse «Rechteck». Die Klasse selber ist in dem Modul «classrechteck» implementiert. Klassen und deren Aufruf werden häufig in verschiedenen Dateien gespeichert. Objektorientierte Programmierung, Seite 26

27 Ablauf Zuerst wird das Objekt mit der Methode «new» erzeugt. Anschließend werden mit Hilfe der Methode «init» mit Standardwerten initialisiert. Zum Schluss wird die Referenz auf das Objekt in der Instanzvariablen «RechteckBlau» gespeichert. Objektorientierte Programmierung, Seite 27

28 Instanz zerstören «del RechteckBlau». Die Instanz wird aus dem Speicher entfernt. Nach der Löschung ist die Instanz undefiniert. Falls keine weitere Instanz von einer Klasse vorhanden ist, wird die Methode «del» aufgerufen. Objektorientierte Programmierung, Seite 28

29 Attribute (Member)... beschreiben einen Gegenstand, Person, Funktion etc. Jedes Objekt einer Klasse hat die gleichen Attribute. Jedes Objekt einer Klasse unterscheidet sich aber in mindestens einem Attributwert von allen anderen Objekten. werden mit Hilfe von Variablen implementiert. Objektorientierte Programmierung, Seite 29

30 in der Projektbeschreibung Attribute entsprechen meist der Beschreibungen eines Objekts. Das Auto ist rot und hat einen KM-Stand von Die Milch ist pasteurisiert. Sobald ein Buch im Lager vorhanden ist, wird es an den Kunden ausgeliefert. Attribute sind Substantive, die einen Rückbezug auf ein anderes Substantiv besitzen. Die Menge des Artikels. Ausleihdatum des Buches. Anmeldung eines Autos. Objektorientierte Programmierung, Seite 30

31 als Klassenvariable implementieren class Rechteck(object): anzahl = 0 farbekante = "Black" farbefuellung = "White" Objektorientierte Programmierung, Seite 31

32 Klassenvariablen... werden innerhalb der Klasse, aber außerhalb einer Methode definiert. werden häufig zu Beginn des Klassenrumpfes aufgelistet. sind Attribute, die alle Objekte besitzen. können von jeden Objekt der Klasse verändert werden. sind globale Attribute eines Objekts. Objektorientierte Programmierung, Seite 32

33 Mit Klassenvariablen arbeiten «Rechteck_Class.Rechteck.farbeFuellung = "Blue"» «Modul.Klasse.Attribut = Wert» Eine Klassenvariable kann nicht über die Instanz aufgerufen werden. Eine Klassenvariable kann nur mit Hilfe des Klassennamens verändert werden. Der Klassenname und das Attribut werden durch einen Punkt miteinander verbunden. Das Modul gibt Auskunft darüber, wo die Klasse definiert ist. Objektorientierte Programmierung, Seite 33

34 Methoden (Memberfunction, Elementfunktion)... beschreiben das Verhalten eines Objekts. lesen oder verändern Attributwerte. beschreiben eine Schnittstelle nach außen. werden innerhalb der Klasse definiert. werden nur einmal für die Klasse im Speicher angelegt. ergeben sich aus den Attributen und deren Nutzung in einer Klasse. sind in Python immer öffentlich, können aber auch privat sein. entsprechen Funktionen aus der prozeduralen Programmierung. Objektorientierte Programmierung, Seite 34

35 in der Projektbeschreibung Methoden sind meist Verben. Das Bankkonto wird eröffnet. Der Inhaber hebt eine bestimmte Summe von seinem Konto ab. Beschreibung einer Zustandsänderung / Änderung: Wenn die Ampel gelb ist, wird die Geschwindigkeit des Autos vermindert. Wenn die Helligkeit draußen einen bestimmten Prozentwert unterschreitet, wird die Straßenlaterne eingeschaltet. Eine Zugdurchfahrt wird gemeldet. Die Schranke wird geschlossen. Objektorientierte Programmierung, Seite 35

36 in Python «class Rechteck(object): def setpos(self, xpos, ypos): self.xpos = xpos self.ypos = ypos» def getfarbefuellung(self): return self.farbefuellung) Objektorientierte Programmierung, Seite 36

37 Methodenkopf Eine Methode beginnt mit dem Schlüsselwort «def». Dem Schlüsselwort folgt der Methodenname. Der Methodenname ist frei wählbar. Der Name kommt aber nur einmal in einer Klasse vor. Für den Methodennamen gelten die gleichen Regeln wie für Funktions- und Klassennamen. Dem Methodennamen folgt die Parameterliste. Als erster Parameter wird immer «self» oder eine andere Instanz angegeben. Der Methodenkopf endet mit dem Doppelpunkt. Objektorientierte Programmierung, Seite 37

38 Methodenrumpf... ändern mit Hilfe von Anweisungen Attributwerte von Objekten oder Klassenvariablen. implementiert ein bestimmtes Verhalten einer Klasse. beschreibt eine Aktion der Klasse kann mit Hilfe von «return» einen Wert an den Aufrufer zurückgeben. Objektorientierte Programmierung, Seite 38

39 Methoden aufrufen RechteckBlau.setPos(0, 10) RechteckBlau.getPos() print("füllungsfarbe: ", RechteckBlau.getFarbeFuellung()) Die Methode wird mit der Instanz immer durch ein Punkt verbunden. Falls die Methode nicht definiert ist, wird die Fehlermeldung AttributeError ausgegeben. Objektorientierte Programmierung, Seite 39

40 Spezielle Methoden... sind in Python für «object» vordefiniert. beginnen und enden mit zwei Unterstrichen. haben einen definierten Namen. gibt es auch für Listen, Dictionaries etc. definieren Vergleiche oder mathematische Operationen. Objektorientierte Programmierung, Seite 40

41 im Leben einer Instanz Instanz initialisieren Rechteck = classrechteck.rechteck() Methode new erzeugt ein Objekt Methode init initialisiert ein Objekt Mit dem Objekt arbeiten Rechteck.farbeFuellung = "Blue" Verweis auf das Objekt zerstören del Rechteck Methode del löscht ein Objekt Objektorientierte Programmierung, Seite 41

42 Destruktor Mit Hilfe von «del RechteckBlau» wird automatisch der dazugehörige Destruktor «def del ()» aufgerufen. Als Parameter wird der Methode das zu zerstörende Objekt übergeben. Die Methode wird implementiert, wenn zum Beispiel... Netzwerkverbindungen getrennt werden müssen. Dateien geschlossen werden müssen. bestimmte Fehler abgefangen werden. Objektorientierte Programmierung, Seite 42

43 in Python «class Rechteck(object):» def del (self): pass Objektorientierte Programmierung, Seite 43

44 self als Parameter... ist ein Platzhalter für den Aufrufer der Methode. beantwortet die Frage Wer hat die Methode aufgerufen?. ist meist das erste Argument einer Methode. beschreibt die Instanz, die die Methode aufgerufen hat. Objektorientierte Programmierung, Seite 44

45 Konstruktor initialisiert mit Hilfe der Methode «init» die Attributwerte eines Objekts. definiert einen Anfangszustand für ein Objekt. wird automatisch bei der Erzeugung einer Instanz aufgerufen. muss nicht implementiert werden. Objektorientierte Programmierung, Seite 45

46 Merkmale eines Konstruktors Ein Konstruktor ist exakt einmal in einer Klasse implementiert. Die Initialisierungsroutine ist einmalig für eine Klasse. Dem Konstruktor können Parameter für die Initialisierung übergeben werden. Ein Konstruktor gibt nie einen Wert an den Aufrufer zurück. Objektorientierte Programmierung, Seite 46

47 Python «class Rechteck(object):» def init (self, parabreite, parahoehe): self.xpos = 0 self.ypos = 0 self.hoehe = parahoehe self.breite = parabreite Objektorientierte Programmierung, Seite 47

48 Aufbau der Parameterliste «self» ist der erste Parameter in der Liste. Welches Objekt wird initialisiert? Alle Parameter, die gesetzt werden müssen, folgen anschließend. Für diese Parameter muss ein Wert an die Initialisierungsroutine übergeben werden. Zum Schluss folgen optionale Parameter. Diese Parameter können bei der Initialisierung einer Instanz als Parameter übergeben werden, müssen aber nicht. Jeder dieser Parameter hat eine Vorgabe, die genutzt wird, wenn kein Parameter übergeben wird. Objektorientierte Programmierung, Seite 48

49 Optionale Parameter nutzen «class Rechteck(object):» def init (self, parabreite = 10, parahoehe = 10): self.xpos = 0 self.ypos = 0 self.hoehe = parahoehe self.breite = parabreite Objektorientierte Programmierung, Seite 49

50 Objektvariablen... beschreiben ein Objekt werden im Konstruktor einer Klasse initialisiert. werden in Abhängigkeit der Instanz gesetzt. haben für jedes Objekt einen anderen Wert. können mit Hilfe von Methoden verändert werden. können in einem Konstruktor definiert werden, müssen aber nicht. können in einer Methode definiert werden. Diese Variablen werden automatisch für das Objekt angelegt. Eine Hinweis für den Nutzer wird nicht herausgegeben. Das Programm wird dadurch schwer lesbar. Objektorientierte Programmierung, Seite 50

51 im Konstruktor implementieren «class Rechteck(object):» def init (self, parabreite = 10, parahoehe = 10): self.xpos = 0 self.ypos = 0 self.hoehe = parahoehe self.breite = parabreite Objektorientierte Programmierung, Seite 51

52 Klassen-Variablen im Konstruktor «class Rechteck(object): ANZAHL = 0 FARBE_KANTE = "Black" FARBE_FUELLUNG = "White"» def init (self, parabreite = 10, parahoehe = 10): self. xpos = 0 self. ypos = 0 self.hoehe = parahoehe self.breite = parabreite self.anzahl = self.anzahl + 1 Objektorientierte Programmierung, Seite 52

53 Die Anweisung... «self.anzahl = self.anzahl + 1» legt für ein Objekt die Variable «ANZAHL» an. Zu dem undefinierten Wert der Objektvariablen wird der Wert eins addiert. Es findet kein Zugriff auf die Klassenvariable statt. Klassenvariable und Objektvariable besitzen aber den gleichen Namen. Objektorientierte Programmierung, Seite 53

54 Klassen-Variablen im Konstruktor «class Rechteck(object): ANZAHL = 0 FARBE_KANTE = "Black" FARBE_FUELLUNG = "White"» def init (self, parabreite = 10, parahoehe = 10): self. xpos = 0 self. ypos = 0 self.hoehe = parahoehe self.breite = parabreite self. class.anzahl = self. class.anzahl + 1 Objektorientierte Programmierung, Seite 54

55 Die Anweisung... «self. class.anzahl = self. class.anzahl + 1» greift auf die Klassenvariable «ANZAHL» zu. Zu dem Wert der Klassenvariable wird der Wert eins addiert. Das spezielle Attribut «class» definiert, die zu einer Instanz gehörenden Klasse. Objektorientierte Programmierung, Seite 55

56 Der Begriff Sichtbarkeit... beschreibt den Zugriff auf Klassen- oder Objektattributen. von Variablen in Python wird nur mit Hilfe von Konventionen geregelt. Diese Konventionen sollten eingehalten werden, müssen aber nicht. Objektorientierte Programmierung, Seite 56

57 Öffentlich, sichtbare Attribute... Beispiele: «Rechteck_class.Rechteck.FARBE_FUELLUNG = "Blue"» «RechteckBlau.xPos = 200» werden wie Variablen benannt. können von außen gelesen und verändert werden. als Klassenvariable: klasse.variable. als Objektvariable: objekt.variable. Klassenvariablen sind standardmäßig öffentlich. Objektorientierte Programmierung, Seite 57

58 Private Attribute... Beispiele: «FARBE_KANTE = "Black"» «self. xpos = 0» beginnen mit zwei Unterstrichen. können laut Konvention nur innerhalb der Klasse gelesen und geschrieben werden. Ein Zugriff von außen auf diese Attribute ist nicht möglich. werden mit Hilfe von get-methoden gelesen. werden mit Hilfe von set-methoden verändert. Objektorientierte Programmierung, Seite 58

59 Schwache private Attribute... Beispiele: «_FARBE_KANTE = "Black"» «self._xpos = 0» beginnen mit einem Unterstrich. können laut Konvention nur innerhalb der Klasse gelesen und geschrieben werden. Ein Zugriff von außen auf diese Attribute ist nicht möglich. werden mit Hilfe von get-methoden gelesen. werden mit Hilfe von set-methoden verändert. werden nicht durch die Anweisung «from import *» in eine Datei importiert. Objektorientierte Programmierung, Seite 59

60 Get- und Set-Methoden für eine Klasse «class Rechteck(object): def init (self, parabreite = 10, parahoehe = 10): self. xpos = 0 self. ypos = 0 self.hoehe = parahoehe self.breite = parabreite def getposy(self): return self. ypos» def setposy(self, pos): self. ypos = pos Objektorientierte Programmierung, Seite 60

61 Properties... binden get- und set-methoden an einen Attributnamen. kapseln Attribute eines Objekts. werden mit Hilfe der Funktion «property» erstellt. Objektorientierte Programmierung, Seite 61

62 in Python «class Rechteck(object): def getposy(self): return self. ypos def setposy(self, pos): self. ypos = pos» ypos = property(getposy, setposy) Objektorientierte Programmierung, Seite 62

63 Funktion property «property(get, set, del, docstring)» Alle Funktionen, die als Parameter übergeben werden, müssen definiert sein. Falls get-methoden als Parameter übergeben werden, kann das gekapselte Attribut gelesen werden. Falls set-methoden als Parameter übergeben werden, kann das gekapselte Attribut verändert werden. wird am Ende des Klassenrumpfes aufgerufen. Objektorientierte Programmierung, Seite 63

64 aufrufen «print( RechteckBlau.yPos )». Der Name der Property wird mit dem Instanznamen durch den Punkt verbunden. Der Aufruf einer Property und eines Attributs ist gleich.. Objektorientierte Programmierung, Seite 64

65 Lesender oder schreibender Zugriff Lesender Zugriff: «print( RechteckBlau.yPos )». Es wird automatisch die entsprechende get-methode aufgerufen. Schreibender Zugriff: «RechteckBlau.yPos = 100». Es wird automatisch die entsprechende set-methode aufgerufen. Falls keine set-methode implementiert ist, wird der Fehler AttributeError ausgegeben. Objektorientierte Programmierung, Seite 65

C++ - Einführung in die Programmiersprache Objektorientierte Programmierung

C++ - Einführung in die Programmiersprache Objektorientierte Programmierung C++ - Einführung in die Programmiersprache Objektorientierte Programmierung hat Kanten hat eine Farbe hat eine Kantenfarbe Rechteck zeichnen Rechteck einfärben Rechteck drehen Modulare Programmierung Projekt

Mehr

Objektorientierte Programmierung OOP

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

Mehr

Grundlagen von Python

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

Mehr

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern

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

Mehr

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

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

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

Mehr

Programmieren in Java

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

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Vorkurs C++ Programmierung

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:

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

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

Mehr

Informatik für Schüler, Foliensatz 23 Konstruktor, String-Methode und Heldenklassse

Informatik für Schüler, Foliensatz 23 Konstruktor, String-Methode und Heldenklassse rof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 25. Mai 2009 1/10 Informatik für Schüler, Foliensatz 23 Konstruktor, String-Methode und Heldenklassse Prof. G. Kemnitz Institut

Mehr

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung rof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 23. April 2009 1/14 Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung Prof. G. Kemnitz Institut für Informatik,

Mehr

C++ - Objektorientierte Programmierung Klassen und Objekte

C++ - Objektorientierte Programmierung Klassen und Objekte C++ - Objektorientierte Programmierung Klassen und Objekte hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue Klasse Warteschlange

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

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

Mehr

Einführung in die Java- Programmierung

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

Mehr

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

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

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften

Mehr

Objektorientierte Programmierung

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

Mehr

3 Objektorientierte Konzepte in Java

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

Mehr

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

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

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

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

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

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

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

Mehr

Sichtbarkeit & 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 Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den

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

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

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

Mehr

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

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

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Objektorientierte Programmierung

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

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

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

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

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11

Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Wozu objektorientiertes Programmieren? Die Welt besteht für den Menschen

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

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

Mehr

C++ - Objektorientierte Programmierung Polymorphie

C++ - Objektorientierte Programmierung Polymorphie C++ - Objektorientierte Programmierung Polymorphie hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen C++ - Objektorientierte Programmierung 21.06.16 Seite 1 Polymorphie

Mehr

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

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

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

SEP 114. Design by Contract

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

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2 Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

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:

Mehr

SEQUENZDIAGRAMM. Christoph Süsens

SEQUENZDIAGRAMM. Christoph Süsens SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

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

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

5. Abstrakte Klassen

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

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Klassendiagramm. (class diagram)

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

Mehr

4. AuD Tafelübung T-C3

4. AuD Tafelübung T-C3 4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {

Mehr

PHP Aufbaukurs. Tag 3. PHP5 & Klassen

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

Mehr

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Bereich METIS (Texte im Internet) Zählmarkenrecherche Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Kompetent objektorientiert programmieren

Kompetent objektorientiert programmieren Kompetent objektorientiert programmieren Aegidius Plüss, Bern, www.aplu.ch Eine objektorientierte Programmiersprache steht auf drei fundamentalen Säulen: Klassenkapselung (encapsulation) Vererbung (inheritance)

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

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

Mehr

Delegatesund Ereignisse

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

Mehr

3. Konzepte der objektorientierten Programmierung

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

Mehr

Einführung in die Programmierung

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

Mehr

Einführung in die Java- Programmierung

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

Mehr

AUTOMATISCHE E-MAIL-ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

AUTOMATISCHE E-MAIL-ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD! AUTOMATISCHE E-MAIL-ARCHIVIERUNG 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD! INHALT AUTOMATISCHE E-MAIL-ARCHIVIERUNG... 4 Eingehende E-Mails können

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Programmierkurs Java

Programmierkurs 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

Mehr

Jahrgang: Jahrgang 1. Thema: Systementwicklung einer Webapplikation - Geheimnachrichten-Generator

Jahrgang: Jahrgang 1. Thema: Systementwicklung einer Webapplikation - Geheimnachrichten-Generator Seite 1 Idee, Zweck, Systembeschreibung: In der Schule benötigen die Personen einen Geheimnachrichten- Generator. Hierfür soll es möglich sein, auf einer Benutzeroberfläche (Hauptfenster) nach der Eingabe

Mehr

Das Modul Hilfsmittel ermöglicht den Anwender die Verwaltung der internen Nachrichten, Notizen, Kontakte, Aufgaben und Termine.

Das Modul Hilfsmittel ermöglicht den Anwender die Verwaltung der internen Nachrichten, Notizen, Kontakte, Aufgaben und Termine. Hilfsmittel Das Modul Hilfsmittel ermöglicht den Anwender die Verwaltung der internen Nachrichten, Notizen, Kontakte, Aufgaben und Termine. Interne Nachrichten Mit Hilfe der Funktion Interne Nachrichten

Mehr

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

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

Mehr

Handbuch. Adressen und Adressenpflege

Handbuch. Adressen und Adressenpflege Handbuch Adressen und Adressenpflege GateCom Informationstechnologie GmbH Am Glocketurm 6 26203 Wardenburg Tel. 04407 / 3141430 Fax: 04407 / 3141439 E-Mail: [email protected] Support: www.gatecom.de/wiki

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

10 Objektorientierte Programmierung, Teil 1

10 Objektorientierte Programmierung, Teil 1 10 Objektorientierte Programmierung, Teil 1 Wir lernen nun eine andere Technik (vor allem: eine andere Sichtweise) kennen, um unsere Programm zu organisieren, nämlich mittels Klassen und Objekten 184 Objekte,

Mehr

Kapitel 6. Vererbung

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

Mehr

Archiv - Berechtigungen

Archiv - Berechtigungen Archiv - Berechtigungen - 1 Inhaltsverzeichnis 1. Grunddefinitionen...3 1.1. Mögliche Definitionen...3 1.1.1. Programme...3 1.1.2. Prinzipale...3 1.1.3 Archivzugriff...3 1.2. Leserichtung...3 1.2.1. Ordnerbezogen...3

Mehr

How to do? Projekte - Zeiterfassung

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

Mehr

Leichte-Sprache-Bilder

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

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Kapitel 6. Vererbung

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

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

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

Mehr

Session Beans & Servlet Integration. Ralf Gitzel [email protected]

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel [email protected] 1 Themenübersicht Ralf Gitzel [email protected] 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Einkaufslisten verwalten. Tipps & Tricks

Einkaufslisten verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Grundlegende Informationen 3 1.2 Einkaufslisten erstellen 4 1.3 Artikel zu einer bestehenden Einkaufsliste hinzufügen 9 1.4 Mit einer Einkaufslisten einkaufen 12 1.4.1 Alle

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Hilfe zur Verwendung digitaler Formulare

Hilfe zur Verwendung digitaler Formulare Übersicht A) Allgemeines Seite 1 B) Antragstellung / Auswahl der Formulare Seite 1 Aufruf der Formulare Seite 1 Bearbeiten/Ausfüllen der Formulare Seite 2 C) Einreichen/Weiterleiten Seite 4 A) Allgemeines

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

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

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

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

Mehr

Objektorientierte Programmierung

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)

Mehr

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

Mehr

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Ebenenmasken Grundlagen

Ebenenmasken Grundlagen Ebenenmasken Grundlagen Was sind Ebenmasken? Was machen sie? Wofür braucht man sie? Wie funktionieren sie? Ebenmasken sind eines der sinnvollsten Tools in anspruchvollen EBV Programmen (EBV = elektronische

Mehr