Vererbung in der OOP



Ähnliche Dokumente
Robot Karol für Delphi

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Wir machen neue Politik für Baden-Württemberg

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Arbeiten mit UMLed und Delphi

Grundlagen von Corel Draw

Vektoren mit GeoGebra

Grundwissen Informatik 6. Jahrgangsstufe

Einführung in die Programmierung

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Definition und Begriffe

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Hinweise zum Übungsblatt Formatierung von Text:

Lehrer: Einschreibemethoden

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

2. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 7 Saison 1962/1963 Aufgaben und Lösungen

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

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Objektorientierung: Klassen und Objekte

Festigkeit von FDM-3D-Druckteilen

Objektorientiertes JavaScript

Statuten in leichter Sprache

JetSym. Programmierung in Hochsprache ST nach IEC We automate your success.

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

1 Mathematische Grundlagen

FAMILIENSTAND ALLEINERZIEHENDE MÜTTER

Zählen von Objekten einer bestimmten Klasse

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de

Trickfilm «Hexe» mit PowerPoint PC PowerPoint 2007

Die Post hat eine Umfrage gemacht

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Die Größe von Flächen vergleichen

Java: Vererbung. Teil 3: super()

Anleitung über den Umgang mit Schildern

Xesar. Die vielfältige Sicherheitslösung

Im Original veränderbare Word-Dateien

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

4.1 Wie bediene ich das Webportal?

So gehts Schritt-für-Schritt-Anleitung

ACDSee 9 Foto-Manager

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen

FAQs für beglaubigte Übersetzungen Francesca Tinnirello

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Aktivierung von Makros in den Erfassungshilfen

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Woche 1: Was ist NLP? Die Geschichte des NLP.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

KinderPlus. Mit KinderPlus wird Ihr Kind zum Privatpatienten im Krankenhaus.

Leichte-Sprache-Bilder

Belichtung mit Tonwertkorrektur verbessern

Kinderarmut. 1. Kapitel: Kinderarmut in der Welt

So wird s gemacht - Nr. 24

7 Rechnen mit Polynomen

Hueber Wörterbuch Deutsch als Fremdsprache Basiswissen kompakt

1. Trennlinie mit hr Eine dünne Trennlinie wie die obige in der Regio-Farbe (gelb) kann man recht einfach erstellen. Dafür reicht der Befehl

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

LANGFRISTIGE HAUSAUFGABE (LINEARE GLEICHUNGSSYSTEME)

Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz von der Bundesvereinigung Lebenshilfe. in Leichter Sprache

Quadratische Gleichungen

Webseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

SEQUENZDIAGRAMM. Christoph Süsens

Primzahlen und RSA-Verschlüsselung

GetName(), GetName(), GetGeschlecht() und AelterWerden().

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

Ihr Ideen- & Projektmanagement-Tool

LU - Mehrwertsteuer. Service zur Regelung der MwSt.-Prozedur:

Der Kunde zahlt die Gehälter.

Bundesverband Flachglas Großhandel Isolierglasherstellung Veredlung e.v. U g -Werte-Tabellen nach DIN EN 673. Flachglasbranche.

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Lösung. Prüfungsteil 1: Aufgabe 1

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

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

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

myfactory.go! - Verkauf

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Anleitung für Architekturbüros zur Erstellung von Architekturplänen für AutoCAD und AutoCAD Architecture

Plotten von Linien ( nach Jack Bresenham, 1962 )

Wir lernen PowerPoint - Fortsetzung-Animationen

Bruchrechnung Wir teilen gerecht auf

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Konzepte der Informatik

Bedingungen. Bedingungen. Bedingungen

)XQNWLRQVWDVWH8PEXFKHQ

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

Umwandeln und Exportieren von Adobe-Illustrator-Dateien in Illustrator für Artcut

Gezielt über Folien hinweg springen

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Mehr Arbeits-Plätze für Menschen mit Behinderung auf dem 1. Arbeits-Markt

Evident VDDS-Anbindung von MIZ

Folge 18 - Vererbung

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Anwendungshinweise zur Anwendung der Soziometrie

Terminabgleich mit Mobiltelefonen

Dann zahlt die Regierung einen Teil der Kosten oder alle Kosten für den Dolmetscher.

Vorgehensweise bei Lastschriftverfahren

Transkript:

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 2 3 4

Objektorientierung Ziele der OOP Objekte bekommen Fähigkeiten übertragen und kümmern sich um die Behandlung ihrer Daten selbst Hilfe beim Programmieren im Großen (Organisation eines Projektes vereinfacht) Systematisierung der Daten lässt sich auf das Programm übertragen 3 Aspekte der OOP Kapselung von Daten und Methoden - Geheimnisprinzip von Methoden

Ein Projektbeispiel: Vektorgrafik Vektorgrafik Eine Vektorgrafik ist eine Liste verschiedener geometrischer Figuren, die durch Koordinaten beschrieben werden. Gegensatz: Pixelgrafik (Bitmap) Anwendung Reine Vektorgrafikprogramme (frei skalierbare Grafik) Illustrationen in der Textverarbeitung (Pfeile, Vielecke,... ) Landkarten (Geokodierung)

Ein Projektbeispiel: Vektorgrafik Open Office Draw: Objektauswahl. Jedes Objekt kann in der Liste einen anderen Platz einnehmen

Gliederung 1 Objektorientierung - Grundlagen 2 3 4

Vektorgrafik objektorientiert: Klassenbildung Klasse Figur Eine Figur besitzt einen Ort (Koordinaten) und kann erzeugt sowie gezeichnet werden. Punkte, Strecken, Rechtecke, Kreise sind Figuren (ist-ein-beziehung), die verschieden erzeugt und gezeichnet werden. Klasse Vektorgrafik Eine Vektorgrafik ist eine Liste verschiedener geometrischer Figuren, die durch Koordinaten beschrieben werden. Es empfiehlt sich, die Vektorgrafik in einer Klasse zu kapseln, da sie öfter neu gezeichnet werden muss Grafik ändert sich, Fenster muss neu gezeichnet werden

Klasse Figur eigene Unit figuren verwenden, mit uses-klausel einbinden da sich sonst das Geheimnisprinzip nicht durchsetzen lässt getrennte Übersetzung möglich Basisklasse figurc Konstruktor legt den Ort fest (Farbe denkbar) virtuelle Methode zeichne - wird selbst in dieser Form nicht aufgerufen, reicht Ausführung an erbende Klassen weiter

Klasse Figur - Definition Im interface-teil: Die Daten sollten von direkten Fremdzugriffen ferngehalten werden (private). Nur die Methoden dürfen direkt mit den Daten arbeiten.

Klasse Figur - Methoden

Gliederung 1 Objektorientierung - Grundlagen 2 3 4

in der Figuren-Klasse Punkte, Strecken, Rechtecke, Kreise sind Figuren (ist-ein-beziehung), die verschieden erzeugt und gezeichnet werden. Beispiel: Punkt Ein Punkt ist eine Figur. type punktc = class(figurc) Er erbt den Ort (x, y) und die Methode zeichne von figurc. Allerdings muss die Methode verändert (überschrieben) werden. Dazu wird zeichne in figurc als virtuell (virtual) und in punktc als überschrieben (override) gekennzeichnet.

ist Typerweiterung Beispiel: Strecke Eine Strecke ist auch eine Figur. type streckec = class(figurc) Außer dem Ort (x, y) und der Methode zeichne von figurc brauchen wir noch den Endpunkt (endx, endy), der im public-teil ergänzt wird: public endx,endy:integer; private (...)

Semantische Probleme bei der Typerweiterung Widerspruch ist-ein-beziehung vs. Typerweiterung Beispiel: Ein Quadrat hat eine Seite a. Ein Rechteck hat eine Seite a und eine Seite b. Aber: Ein Rechteck ist ein Quadrat mit noch einer Seite mehr ist technisch gesehen möglich, aber semantisch falsch. Ein Quadrat ist ein Rechteck ist dagegen richtig.

Gliederung 1 Objektorientierung - Grundlagen 2 3 4

von Methoden in der Figuren-Klasse Zeichnen eines Punktes unterscheidet sich vom Zeichnen eines Kreises Ziel Das Zeichnen soll trotz seiner Verschiedenartigkeit bei jeder Figur gleich benannt werden. Grund: Beim Darstellen der Liste soll in einer Schleife jede Figur gezeichnet werden, egal, wie sie beschaffen ist. liste[i].zeichne

von Methoden in der Figuren-Klasse Lösung: durch virtuelle Methoden (siehe ). Die Methode zeichne heißt bei allen Figuren gleich, ist aber bei jeder anders ausgeprägt. Punkt: canvas.pixels[x,y] := color Strecke: canvas.pen.color := color; canvas.moveto(x,y); canvas.lineto(endx,endy)

Anhang Literatur I Bertram Hafner. Einstieg in die OOP mit Delphi. http://www.bertram-hafner.de/infos/ Material/DelphiOOP.pdf, 24. 5. 2009. S. Spolwig. Hinweise zur Implementation in OOP mit DELPHI. Oberstufenzentrum (OSZ) Handel 1, Berlin, 2007. http://www.schule.de/schulen/ oszhdl/gymnasium/faecher/informatik/ delphi/implementation_oo.htm, 24. 5. 2009.

Anhang Literatur II S. Schekan, S. Thurau. OOA und OOP mit Borland Delphi in der gymnasialen Oberstufe. HU Berlin, 2002. http://ddi.informatik.hu-berlin.de/spolwig/ hsem_02/dokumente/thurau/, 24. 5. 2009. OOP in Delphi. Delphi Tutorials, 2006. http://www.delphi-tutorials.de/ oop-in-delphi-22.html, 24. 5. 2009.

Anhang Literatur III Joachim Goll, Cornelia Weiß, Frank Müller. Java als erste Programmiersprache. Vieweg + Teubner, 2007. http://www.it.hs-esslingen.de/ ~heinisch/javabuch/, 24. 5. 2009. John R. Hubbard, Anita Huray. Data Structures with JAVA. Pearson Education, 2004. Kathy Sierra, Bert Bates. Java von Kopf bis Fuß. O Reilly 2006

Anhang Literatur IV Charles Petzold. Die Kunst zu programmieren. Ein Programmierlehrgang in C#.NET Microsoft Press, 2003. Eric Gunnerson. C#. Die neue Sprache für Microsofts.NET-Plattform. Galileo Open Book, 2000 http://openbook.galileocomputing.de/ csharp/kap06.htm/, 24. 5. 2009.

Anhang Literatur V c-sharpcorner.com. http://www.c-sharpcorner.com/ UploadFile/camurphy/ csharplists03302006170209pm/ csharplists.aspx, 24. 5. 2009.