PYTHON. 06 Objektorientierung II

Ähnliche Dokumente
Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP

Objektorientierte Programmierung

Fragen zur OOP in Java

Vererbung und Polymorphie

Vererbung und Polymorphie

Exceptions und Vererbung

Erste Java-Programme (Java Wiederholung & Vererbung)

Programmieren in Java

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Java Vererbung. Inhalt

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Begriffe 1 (Wiederholung)

Praxis der Programmierung

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen

Einstieg in die Informatik mit Java

Informatik I. 15. Objekt-orientierte Programmierung: Einstieg. 03. Dezember Albert-Ludwigs-Universität Freiburg. Informatik I.

Programmierkurs Python I

Java für Bauingenieure

PYTHON. 03 for-schleifen, Funktionen

Objektorientierte Programmierung III

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

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

Vererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.

Vorkurs Informatik WiSe 15/16

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte

HSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2

Vererbung, Polymorphie

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

Einstieg in die Informatik mit Java

Programmierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

C++ - Objektorientierte Programmierung Vererbung

7. Übung Informatik II - Objektorientierte Programmierung

Programmieren in Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

PYTHON. 04 Funktionen II, Module

11 Objektorientierte Programmierung, Teil 2

Vorlesung Programmieren. Bisher: Klassen und Objekte. Was ist mit ähnlichen Klassen? Vererbung und Polymorphismus

Implementieren von Klassen

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern

Prinzipien der objektorientierten Programmierung (OOP)

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Einstieg in die Informatik mit Java

Programmierkurs Python I

Informatik Klasse 13, Foliensatz 1 Wiederholung

OOP. Wenn Computer Erben. Henrik Horstmann

IT I: Heute. Nachbetrachtung Wissensüberprüfungen. Einführung Vererbung. Roboter in becker.robots IT I - VO 5 1

Javakurs für Anfänger

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Abend 4 Übung : Erweitern von Klassen durch Vererbung

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs

9. Zurück zur OOP: Vererbung und Polymorphismus

Programmierung Nachklausurtutorium

Tag 7 Repetitorium Informatik (Java)

SFZ FN Sj. 13/14. Python 2 Turtle. GZG FN W.Seyboldt. Inf K1/2 Sj 13/14

Teil VI. Objektorientierte Programmierung. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2016/

3 Objektorientierte Konzepte in Java

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Skriptum Bauinformatik SS 2013 (Vorlesung III)

Java Einführung Vererbung und Polymorphie. Kapitel 13

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Klassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

9. Vererbung und Polymorphie. Informatik Vererbung und Polymorphie 1

Objektorientierte Programmierung (OOP) mit Matlab - Ein Crashkurs

Repetitorium Informatik (Java)

Propädeutikum Programmierung in der Bioinformatik

Informationsverarbeitung im Bauwesen

Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe.

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Javakurs für Anfänger

Präsentation Interfaces

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Funktionen in JavaScript

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 3: Kombination OOP/WF

Objektorientierte Programmierung

Funktionen in JavaScript

1 Berechnung von Summen (ca = 10 Punkte)

Transkript:

PYTHON 06 Objektorientierung II

Wiederholung Was bisher geschah

Objektorientierung Objekte haben Eigenschaften Objekte haben Methoden Objekte werden nach einem bestimmten Bauplan erzeugt: die Klassen sind der Bauplan / das Kuchenrezept wenn man dann wirklich einen solchen Kuchen bäckt, ist dieser das Objekt

Klassen damit man mehrere Autos erstellen kann, braucht es eine Klasse (= Bauplan) diese Klasse definiert, welche Eigenschaften und Methoden ein Auto hat, ist aber selbst kein Auto! mit diesem Bauplan können beliebig viele Objekte erzeugt werden

Objekte um aus der Klasse / dem Bauplan ein Objekt zu machen, muss man dieses instanzieren Objekte werden deshalb auch Instanzen einer Klasse genannt mit dem Bauplan Auto kann ich also ein rotes, ein blaues, ein weißes Auto usw. erzeugen

Vererbung Klassen können von anderen Klassen erben erben dabei die Eigenschaften und Methoden der Eltern -Klasse die Kind -Klasse kann die Eigenschaften und Methoden der Elternklasse überschreiben und neue Eigenschaften und Methoden hinzufügen

Vererbung Elternklasse / Superklasse / Basisklasse vererbt an: Kindklasse / Subklasse / abgeleitete Klasse Subklassen sind Spezialisierungen von Superklassen z.b. Auto ist ein spezieller Fall von Fahrzeug

Übung zum Konzept von OOP

</> Aufgabe Denke an ein Adventure-Computerspiel, das dir möglichst gut bekannt ist welche Klassen braucht man, um das Computerspiel zu programmieren? Gibt es außer dem Player noch Figuren, z.b. Bösewichte, Gegenspieler,? Welche Eigenschaften und Methoden haben diese Figuren jeweils?

OOP in Python Aufbau und Syntax von Klassen

Klassen werden mit dem Schlüsselwort class und dem Klassennamen definiert wenn die Klasse von keiner anderen erbt, also keine Subklasse von einer anderen Klasse ist, steht in den runden Klammern das Schlüsselwort object class Mitarbeiter(object): Eigenschaften und Methoden

Methoden der Klasse Methoden sind im Grunde Funktionen innerhalb der Klasse allerdings wird als erster Parameter immer das eigene Objekt mit self übergeben self wird nur bei der Definition angegeben, nicht beim aufrufen einer Methode def sayhello(self):

Eigenschaften der Klasse Eigenschaften sind Variablen innerhalb der Klasse vor dem Variablennamen steht aber immer das Schlüsselwort self damit wird angezeigt, dass es sich um eine Klassenvariable handelt self.farbe = grün

Objekte in Python ein Objekt instanziert man, indem man den Klassennamen aufruft Roboter() üblicherweise speichert man das Objekt in eine Variable mein Roboter = Roboter()

Objekte in Python die Eigenschaften und Methoden des Objekts erreicht man mit Punkt und Name der Eigenschaft / der Methode: mein Roboter.name mein Roboter.sayhello()

</> Aufgabe class-roboter.py definiere eine Klasse Roboter, die als Methode sayhello enthält, welche Hallo, ich bin ein Roboter! ausgibt erzeuge ein Objekt davon und rufe die Methode auf

Konstruktor nun möchte man aber nicht jedes Objekt gleich erzeugen, z.b. jeder Mitarbeiter ist anders (anderer Name usw.) daher gibt es die Möglichkeit, zu Beginn, also beim Erzeugen eines Objekts, Parameter mitzugeben innerhalb der Klasse muss es dann einen so genannten Konstruktor geben: eine Funktion, die beim Erzeugen einmalig ausgeführt wird ein Konstruktor muss in Python init heißen def init (self)

Konstruktor dem Konstruktor kann man nun mehrere Parameter mitgeben, die man im Konstruktor den Klassenvariablen zuweist def init (self, name, farbe): self.name = name self.farbe = farbe robbie = Roboter("Robbie", "blau")

</> Aufgabe class-roboter.py erweitere die Klasse Roboter um einen Konstruktor, mit dem Name und Farbe übergeben werden ändere die Methode sayhello so, dass sie mit ausgibt, wie der Roboter heißt und welche Farbe er hat

Übungen mit Klassen und Objekten

</> Aufgabe class-roboter.py vervollständige die Klasse Roboter Eigenschaften: name, farbe, baujahr, Methoden: sayhello() lackieren(farbe)

</> Aufgabe class-roboter.py ändere den Konstruktor der Klasse Roboter so, dass die Parameter baujahr und farbe optional sind ändere nach dem Instanzieren eines Objekts die Eigenschaften

</> Aufgabe class-roboter.py erstelle eine Liste mit Namen namensliste = ["Robbie", Wall-e", "R2D2"] erzeuge mithilfe einer for-schleife für jeden Namen in dieser Liste ein Objekt der Klasse Roboter