StR C. Müller/Dr. M. Ehmann. Objektorientierung in den (Grund-) Modulen

Ähnliche Dokumente
7. Objektorientierung. Informatik II für Verkehrsingenieure

Objektorientierte Beschreibung einfacher Vektorgrafiken

Objektorientierte Programmierung

Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java

Objektorientierte Programmierung OOP

Objektorientierte Modellierung (1)

Synopse zum LehrplanPLUS Bayern

Gliederung der Folien

Luisenburg-Gymnasium Wunsiedel

Geoinformation I Datenmodellierung

Java-Programmierung mit NetBeans

Modullehrplan für das Fach Informationstechnologie mit flexibilisierter Stundentafel

Objekte und Klassen. Einführung der Begriffe Objekt und Attribut

Begriffe 1 (Wiederholung)

2. Übung. Systemobjektmodell. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1

Unterrichtsentwurf. (Unterrichtsbesuch im Fach Informatik)

LehrplanPLUS Realschule Informationstechnologie Die wichtigsten Änderungen auf einen Blick. 1. Konzept des Unterrichts

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Repetitorium Informatik (Java)

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

2. Vererbung und Kapselung

Praktikum. SEP: Java-Programmierung WS 2018/19. Modularisierung. Thomas Lemberger und Martin Spießl

Objektorientierung im Informatikunterricht ab Klasse 5

Objektorientierung. Objekte

Illustrierende Aufgaben zum LehrplanPLUS. Realschule, Informationstechnologie, Lernbereich 1: Modul 1.2. Das Anhänger-Logo. Stand:

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Anwendungsentwicklung Datenbanken Datenbankentwurf. Stefan Goebel

Java. Prof. Dr. Stefan Enderle NTA Isny

9. Vererbung und Polymorphie. Informatik Vererbung und Polymorphie 1

5.2 Entity-Relationship-Modell

Kurzeinführung in UML

Java Einführung Objektorientierte Grundkonzepte

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

Einführung in die Programmierung für NF MI. Übung 07

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Skriptum Bauinformatik SS 2013 (Vorlesung III)

ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG

D1: Relationale Datenstrukturen (14)

Propädeutikum Programmierung in der Bioinformatik

Prinzipien der objektorientierten Programmierung (OOP)

1 Grundlagen der Objektorientierung

Programmieren 2 C++ Überblick

Teil 2: OOP und JAVA (Vorlesung 11)

Überblick. Überblick. Abstrakte Klassen - rein virtuelle Funktionen Beispiele

Objektorientierte Programmierung Studiengang Medieninformatik

C2: Tabellenkalkulation Daten und komplexe Strukturen (14)

Aufgaben zur fachwissenschaftlichen Prüfung Modul 2 Daten erfassen, ordnen, verarbeiten und austauschen: Schwerpunkt Tabellenkalkulation

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Vorlesung Datenstrukturen

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus

Aufgaben zur fachwissenschaftlichen Prüfung Modul 6 Modellierung

Objektorientierte Programmierung OOP

Arbeiten mit einer Datenbank 1

4. Objektorientierte Programmierung mit C++

Manfred Schüttengruber. Objektorientierte Programmierung mit Visual Basic 2005

Umsetzung einer Klassenkarte in einer Programmiersprache

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

Einführung in die objektorientierte Programmierung

Einstieg in die Informatik mit Java

10. Programmierungs-Phase: Objektorientierung Software Engineering

Die Unified Modeling Language (UML)

Der Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw.

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

Einführung in die Programmierung Vorlesungsprüfung

Einführung in die Objektorientierte Programmierung Vorlesung 2: Mikroskopisches und Makroskopisches Computational Thinking.

3.3 Konstruktoren und Destruktoren

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

Abstrakte Datentypen. Daten und Operationen Mögliche Implementierungen Veränderbare Typen, Ergebnistypen

Javakurs für Anfänger

7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code:

Analyse und Design mituml2

UML -Klassendiagramme

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel

C++ Teil 10. Sven Groß. 17. Dez IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Dez / 14

Klassen als Datenstrukturen

Java-Grundkurs für Wirtschaftsinformatiker

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Multimedia für Referate und Präsentationen

Analyse der Klasse Konto

PYTHON. 06 Objektorientierung II

Probeklausur: Programmierung WS04/05

Präsentation. Präsentation

Laura behauptet, dass Fabian dabei zwei Fehler gemacht hat.

Javakurs für Anfänger

Wahlpflichtfächergruppe II

Objektorientierte Programmierung Studiengang Medieninformatik

Zusammenfassung Informatik

Einführung in die Systemprogrammierung

Datenbankentwicklung

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

4. Objektorientierte Programmierung mit C++

Java-Grundkurs für rtschaftsinformatiker

Liste MI / Liste I Programmieren in C++

Voraussetzungen IT beim Übertritt in die 8. Klasse Stoff der 7. Klasse 2-stündig Monat Lerninhalte Modul

Medienkunde. 2. Fachtagung Medienbildung Staatliches Humboldtgymnasium Weimar Dirk Drews, Thillm

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:

Einstieg in die Informatik mit Java

Grundwissen Informatik JS Juli 2018

Transkript:

StR C. Müller/Dr. M. Ehmann Objektorientierung in den (Grund-) Modulen StR Carsten Müller carsten.mueller@uni-bayreuth.de Didaktik der Informatik Universität Bayreuth Dr. Matthias Ehmann matthias.ehmann@uni-bayreuth.de http://did.inf.uni-bayreuth.de

Ausgangslage / Intention objektorientierte Konzepte ziehen sich als roter Faden durch den IT- Lehrplan der Realschule und den Informatik-Lehrplan am Gymnasium Schüler haben häufig Schwierigkeiten, objektorientierte Konzepte (v.a. Begriffe Klasse und Beziehung ) zu verstehen und richtig anzuwenden in Modulprüfungen oder Staatsexamensprüfungen an der Univerisität zeigen sich auch bei den Studierenden immer wieder Verständnisprobleme bei Fragen zu objektorientierten Konzepten Bildungsverlag EINS und Winklers haben für alle acht Grundmodule sowie Teile der Aufbaumodule Schulbücher entwickelt trotz Genehmigung durch das KM auch hier Unstimmigkeiten bei objektorientierten Konzepten 2

A2 (Grundbegriffe der Objektorientierung) Ein neues Objekt wird erst vom Konstruktor der Klasse erzeugt, z.b. re0 = new RECHTECK() Umgekehrung ist richtig: Eine Klasse erzeugt ein Objekt Das Objekt mit dem Namen re0 ist eine Instanz der Klasse RECHTECK oder Das Objekt mit dem Namen re0 wurde von der Klasse RECHTECK erzeugt 3

A2 (Grundbegriffe der Objektorientierung) Impliziert eine Analogie zwischen Daten und Objekten Daten sind Repräsentationen von Information. Attribute und ihre Werte tragen auch Information, sind aber nicht (zwingend) Objekte. Sind Zeichnungen keine Objekte? 4

A2 (Grundbegriffe der Objektorientierung) Klassen sind keine Zusammenfassung von gleichartigen Objekten. Es gibt keine enthalten-sein -Beziehung zwischen Objekten und Klassen. Widerspruch: Objektkarte für dieses Rechteck Attribute 5

A2 (Grundbegriffe der Objektorientierung) Das ist keine Bedingung. Und wenn schon, weshalb nur verändernde und keine sondierende Methoden? Beide Notationen sind möglich. Sie beziehen sich hier auf das Werkzeug EOS. Aus objektorientierter Sicht ist die direkte Zuweisung nicht sinnvoll und in der Regel nicht möglich (Datenkapselung). 6

A2 (Grundbegriffe der Objektorientierung) Durchaus möglich aber Modul A2 ist keine Einführung in die Algorithmik. Es geht hier nicht um die Einführung von Kontrollstrukturen. 7

Widerspruch! A4 (Informationsbeschaffung, -verwertung und austausch) Eine Klasse ist ein Bauplan für Objekte mit gleichen Attributen und Methoden. Methoden besitzen am Ende immer ein Klammernpaar, z.b. erstellen(), sendenan(ziel) besser: Attributwerte angeben, z.b. Hans Meier, 532 KB oder 14.12.2011 8

A4 (Informationsbeschaffung, -verwertung und austausch) Genauer unterscheiden: Klassenkarten listen alle Attribute und Methoden auf, Objektkarten geben zusätzlich durch die Angabe von Attributwerten Auskunft über den aktuellen Zustands des bezeichneten Objekts Methoden sind keine Spezifika von Objekten. Alle Objekte einer Klasse haben dieselben Methoden. Notieren in der Klassenkarte ist nicht nötig bzw. nicht sinnvoll. nicht die wesentliche Unterscheidung, eher spezielle Darstellung in Schulbüchern (nicht UML-konform) besser: Unterscheidung durch die Angabe von Attributwerten Ungeschickt: Klassenkarte und Objektkarte einer Instanz einer anderen Klasse 9

A5 (Bildbearbeitung) Mischung der Begriffe Objekt und Klasse; ein Objekt kann nicht in Klassen unterteilt werden evtl. Vererbung (fraglich): die Klassen Pixelgrafik und Vektorgrafik sind Spezialisierungen der (abstrakten) Klasse Bild Klasse, kein Objekt! Klasse, kein Objekt! Objektkarte? 10

A5 (Bildbearbeitung) GRAFIKELEMENT breite höhe VEKTORGRAFIK mittelpunkt linienstärke PIXELGRAFIK erzeugt kreis1: VEKTORGRAFIK mittelpunkt = (1 2) linienstärke = 3 pt. 11

A5 (Bildbearbeitung) Klassennamen im Singular! Sehr ungenau formuliert! 12

A5 (Bildbearbeitung) genauer beschreiben, z.b. kreisgesicht, kreisaugelinks1, kreisaugelinks2, kreisaugerechts1, kreisaugerechts2, halbbogenmund 13

A5 (Bildbearbeitung) Eine Klasse ist kein Behälter für Objekte! Bei einheitlicher Schreibweise bleiben, hier: Klasse RECHTECK Sie haben IMMER DIESELBEN Attribute! 14

A6 (Einführung in die Tabellenkalkulation)? Völlig widersprüchliche Aussagen zum Attribut Datentyp! 15

A6 (Einführung in die Tabellenkalkulation) Schafft keinen Überblick, sondern stiftet Verwirrung! 16

A6 (Einführung in die Tabellenkalkulation) Warum zwei Klassen ZELLE? Kann eine Zelle nur Teil einer Zeile oder einer Spalte sein? 17

A6 (Einführung in die Tabellenkalkulation) Klassendiagramm: TABELLENKALKULATIONDOKUMENT Name Öffnen() SpeichernUnter(Dateiname) Speichern() Schließen() RECHENBLATT Bezeichnung BezeichnungÄndern(Name) ZEILE ZELLE SPALTE Nummer Zeilenhöhe enthält > Inhalt Formel Datentyp < enthält Bezeichnung Spaltenbreite 18

A6 (Einführung in die Tabellenkalkulation) Um welche Attribute handelt es sich hier? 19

A6 (Einführung in die Tabellenkalkulation) Das sind Attributwerte. Hier handelt es sich um Attribute. Verwirrender Zusammenhang 20

A7 (Informationsbearbeitung und präsentation) Die Methode gehezu() benötigt einen Parameter (vgl. Text)! Als Attribut der Klasse FOLIE kann hier nur ein (z.b. Hintergrund-) Bild verwaltet werden. Hier wäre eine Beziehung nötig, um die reale Situation in einer Präsentation nachzubilden. 21

D1 (Relationale Datenstrukturen) Die Aussage ist zwar korrekt, beschreibt aber nicht den modellierten Zusammenhang: Ein Kunde hat genau eine Postleitzahl. 22

StR C. Müller/Dr. M. Ehmann Objektorientierung in den (Grund-) Modulen StR Carsten Müller carsten.mueller@uni-bayreuth.de Didaktik der Informatik Universität Bayreuth Dr. Matthias Ehmann matthias.ehmann@uni-bayreuth.de http://did.inf.uni-bayreuth.de