1 Fragen aus dem Unterricht zu Projekt Garten

Größe: px
Ab Seite anzeigen:

Download "1 Fragen aus dem Unterricht zu Projekt Garten"

Transkript

1 Kapitel 1z Grundlagen der Objektorientierung Seite 1 1 Fragen aus dem Unterricht zu Projekt Garten In diesem Zusatzkapitel werde ich Probleme ansprechen, die sich im Laufe des Unterrichtsgesprächs ergeben haben. Ich werde Lösungen anbieten, ohne dass diese im Einzelnen vertieft besprochen werden. Vielmehr ist der einzelne Schüler hiermit aufgefordert, die vorgeschlagene Implementierung in Ruhe zu studieren und die Vorschläge in seine Hausaufgaben zu übernehmen. Hinweis: Ich möchte noch einmal betonen, dass es nicht unbedingt notwendig ist, alles auf Anhieb zu verstehen. Es werden in diesen Vorschlägen immer wieder Strukturen verwendet, die im Unterricht an dieser Stelle noch nicht besprochen worden sind. Aber es schadet auf keinen Fall, sich darüber Gedanken zu machen. Bei der Hausaufgabe wirst du schnell bemerkt haben, dass es kein Problem ist, einzelne Objekte vom Typ Kreis, Quadrat oder Dreieck zu manipulieren, es aber sinnvoll ist, diese Objekte zuerst an den richtigen Ort zu platzieren und die Größe und Farbe einzustellen, bevor diese sichtbar gemacht werden. Diese Reihenfolge erzeugt einen einigermaßen ruhigen Bildaufbau. Auch die Simulation einer Bewegung eines einzelnen Objekts bereitet keine großen Schwierigkeiten. Hinweis: Für die Simulation einer Bewegung werden die Methoden zeichne(), entferne(), warte(), usw. der Klasse Leinwand verwendet. Auf die Bedeutung dieser Methoden werde ich in diesem Kapitel nicht eingehen. Mit der Bewegung eines einzelnen Quadrats erzeugt man jedoch keine ansprechenden Szenen. Vielfach benötigt man Objekte, die aus weiteren Objekten zusammengesetzt werden. Eine Figur besteht z.b. aus einem Rumpf (Dreieck) und einem Kopf (Kreis). Mit deinem bisherigen Wissen wirst die Simulation einer Bewegung falsch erstellen. Es bewegt sich zuerst der Kopf zu der entsprechenden Position und dann folgt der Rumpf nach. 1.1 Objekt, Klasse Betrachte zuerst einmal die Figur in Abbildung 1.1. Sie ist zusammengesetzt aus einem Dreieck und einem Kreis. Weiterhin soll diese im zusammengesetzten Zustand auf die Reise gehen.

2 Kapitel 1z Grundlagen der Objektorientierung Seite 2 Abbildung 1.1: Figur als zusammengesetztes Objekt Hierzu benötigst du zwei Klassen. Die Klasse Mensch ist für die Zusammenstellung der Figur verantwortlich. Die zweite Klasse Reise erzeugt ein Objekt der Klasse Mensch und simuliert dessen Bewegung. Abbildung 1.2: Klassendiagramm des Projekts Bewegung Betrachte zuerst die Klasse Mensch. Sie benötigt die Datenfelder und Dreieck koerper Kreis kopf

3 Kapitel 1z Grundlagen der Objektorientierung Seite 3 die Methoden malen() zeigen() bewegen() Mehr Fähigkeiten soll unsere Figur vorerst nicht besitzen. Nun soll diese Figur auf die Reise gehen. Dazu musst du eine Klasse Reise entwerfen. Diese benötigt das Datenfeld Mensch meinmensch und die Methoden zeigemensch() bewegemensch() Die Implementierung dieser Klassen im Projekt Bewegung zeigen die folgenden Listings. /** * Diese Klasse erzeugt eine einfache Figur aus einem Dreieck und * und einem Kreis und simuliert horizontale Bewegungen. * */ public class Mensch private Dreieck koerper; private Kreis kopf; /** Konstruktor */ public Mensch() koerper = new Dreieck(); kopf = new Kreis(); malen(); /** Das Quadrat(koerper) und der Kreis(kopf) wird gezeichnet. */ private void malen() koerper.groesseaendern(90, 50); koerper.vertikalbewegen(100); koerper.horizontalbewegen(30); kopf.groesseaendern(30);

4 Kapitel 1z Grundlagen der Objektorientierung Seite 4 kopf.horizontalbewegen(45); kopf.vertikalbewegen(25); /** Die Figur wird nun sichtbar gemacht. */ public void zeigen() koerper.sichtbarmachen(); kopf.sichtbarmachen(); /** Die gesamte Figur wird um entfernung horizontal verschoben. */ public void bewegen(int entfernung) koerper.horizontalbewegen(entfernung); kopf.horizontalbewegen(entfernung); /** * Diese Klasse simuliert die Reise. * */ public class Reise private Mensch meinmensch; /** Konstruktor */ public Reise() meinmensch = new Mensch(); /** Macht die Figur sichtbar. */ public void zeigemensch() meinmensch.zeigen(); /** Bewegt die Figur nach rechts bzw. links. */ public void bewegemensch(int entfernung) meinmensch.bewegen(entfernung); Übung 1z.1:

5 Kapitel 1z Grundlagen der Objektorientierung Seite 5 Erstelle ein neues Projekt Bewegung und implementiere wie oben dargestellt die entsprechenden Klassen in BlueJ. Untersuche die Methoden. Denke daran, dass auch das Abschreiben bereits zum Verständnis beiträgt. 1.2 Langsame Bewegung der Figur Nun soll diese Figur langsam bewegt werden. Die erste Idee ist, in der Klasse Mensch folgende Methode zu implementieren: /** Die gesamte Figur wird langsam horizontal verschoben. */ public void langsambewegen(int entfernung) koerper.langsamhorizontalbewegen(entfernung); kopf.langsamhorizontalbewegen(entfernung); und in der Klasse Reise folgende Methode: /** Bewegt die Figur langsam horizontal. */ public void bewegelangsammensch(int entfernung) meinmensch.langsambewegen(entfernung); Übung 1z.2: Füge diese beiden Methoden in die entsprechenden Klassen Mensch und Reise ein und untersuche ihre Wirkungen in BlueJ. Das Ergebnis ist nicht sehr befriedigend. Formuliere schriftlich, was beim Aufruf von meinmensch.langsambewegen(entfernung) im Einzelnen passiert. In welcher Klasse müssen wir Verbesserungen vornehmen? Offensichtlich war es falsch, zuerst den Körper um die gesamte Entfernung zu verschieben und dann den Kopf folgen zu lassen. Besser ist es, den Körper um ein Pixel, dann den Kopf um ein Pixel zu verschieben. Nun soll wieder der Körper und dann wieder der Kopf um ein weiteres Pixel verschoben werden. Diese beiden Programmanweisungen sollen so oft wiederholt werden, bis die gesamte Entfernung zurückgelegt worden ist. Die Implementierung zeigt folgendes Listing: /** Die gesamte Figur wird langsam horizontal verschoben. */ public void langsambewegen(int entfernung) for(int i = 0; i < entfernung; i++)

6 Kapitel 1z Grundlagen der Objektorientierung Seite 6 // Die Figurenteile jeweils um 1 Pixel verschieben koerper.langsamhorizontalbewegen(1); kopf.langsamhorizontalbewegen(1); Übung1z.3: Übernimm nun die oben gezeigte Methode und untersuche diese in BlueJ! Übertrage die hier gezeigten Ideen in dein Hausaufgaben-Projekt. (vgl. Projekt Bewegung)

1 Grundlagen der Objektorientierung

1 Grundlagen der Objektorientierung Kapitel 1 Grundlagen der Objektorientierung Seite 1/8 1 Grundlagen der Objektorientierung Dieses Kapitel stellt eine solide, pragmatische Einführung in die fundamentalen Konzepte der Objektorientierung

Mehr

ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG

ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG Unter objektorientierter Modellierung versteht man das detailgetreue Darstellen einer zu programmierenden Szene durch Skizzen in UML. UML steht für Unified Modelling

Mehr

5 Das Projekt Apfelwein

5 Das Projekt Apfelwein Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 1 5 Das Projekt Apfelwein Bemerkung: In der 10. Jahrgangsstufe (G8) werden die Schüler in die zustandsorientierte Programmierung eingeführt. Dies

Mehr

Beispiellösungen Übungsblatt 1

Beispiellösungen Übungsblatt 1 Beispiellösungen Übungsblatt 1 Praktische Informatik I bei Prof. Dr. Ing. Felix Freiling 1. Präsenzaufgaben 1) HalloWelt S. 2 2) malemeinbild S. 3 2. Hausuaufgaben 1) malehaus bestimmter Größe S. 5 2)

Mehr

1 Modellierung einer Uhr

1 Modellierung einer Uhr PNS Wahlpflichtfach Informatik Projekt: Uhrzeit Seite 1 1 Modellierung einer Uhr Aufgabe: Es soll ein Modell für eine Digitaluhr erstellt werden, die Stunden und Minuten im Format hh:mm repräsentiert.

Mehr

In BlueJ geht es einfach

In BlueJ geht es einfach Arbeiten mit BlueJ Compilieren, Editieren, Objekte erzeugen, Methoden aufrufen, Objekte inspizieren, vorhandene Klassen benutzen, eigene Klassen und Methoden erstellen In BlueJ geht es einfach BlueJ durch

Mehr

Die Einzelphasen einer Filmdatei (Workshop)

Die Einzelphasen einer Filmdatei (Workshop) Die Einzelphasen einer Filmdatei (Workshop) Damit ein Film entsteht sind immer viele einzelne Bilder notwendig. Die Bewegung an sich gibt es nicht. Der Eindruck von Bewegung entsteht erst, wenn viele Bilder

Mehr

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur

Mehr

Aufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet:

Aufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet: Aufgabenblatt: OOP - Seite 1 Aufgabenblatt: OOP II (1.) Gegeben ist nebenstehende die Klasse CPoint! (a.) Schreiben Sie eine Subklasse CPoint3 mit nebenstehenden Eigenschaften und Methoden und Testen Sie

Mehr

3. Die Programmiersprache Java

3. Die Programmiersprache Java 3. Die Programmiersprache Java 3.1 Arbeiten mit BlueJ 3.2 Objekte und Klassen 3.3 Klassen und Unterklassen 3.4 Daten und Operationen 3.5 Ausdrücke 3.6 Algorithmische Kernsprache 3.7 Sprachbeschreibung

Mehr

2. Vererbung und Kapselung

2. Vererbung und Kapselung 2. Vererbung und Kapselung Die Objekte der Klasse BALL werden im Gegensatz zu den Objekten von KREIS noch nicht graphisch dargestellt. Um die BALL-Objekte auch graphisch darzustellen zu können, muss BALL

Mehr

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

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

9. Vererbung und Polymorphie. Informatik Vererbung und Polymorphie 1

9. Vererbung und Polymorphie. Informatik Vererbung und Polymorphie 1 9. Vererbung und Polymorphie 1 Wiederholung Vererbung bedeutet, dass eine Klasse Attribute und Methoden an eine andere Klasse weitergeben kann. Im Klassendiagramm stellt man dies durch einen durchgezogenen

Mehr

Das aktuelle Objekt der Klasse AMPEL gibt an die Objekte gruen, gelb und rot der Klasse LAMPE die Botschaft, die Methode aus() aufzurufen.

Das aktuelle Objekt der Klasse AMPEL gibt an die Objekte gruen, gelb und rot der Klasse LAMPE die Botschaft, die Methode aus() aufzurufen. Übung 1 Ampel Öffne das BlueJ-Projekt Ampel_Vorlage und öffne die Klasse AMPEL. a) Erzeuge ein Objekt von AMPEL und mach dich mithilfe des Objektinspektors und dem Quelltext über die Funktionsweise kundig.

Mehr

Created by Michael Kirsch & Beat Rossmy

Created by Michael Kirsch & Beat Rossmy PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK Created by Michael Kirsch & Beat Rossmy INHALT 1. Sto der Vorlesung 1. Processing Basics 2. Übung 1. Aufgabe 1 2. Strings & Arrays 2. Aufgabe 1-A 3. Klassen

Mehr

Übung zur Abgaben Didaktik der Geometrie. Gruppe 5 Alt, Regine u. Gampfer,Stefanie

Übung zur Abgaben Didaktik der Geometrie. Gruppe 5 Alt, Regine u. Gampfer,Stefanie Übung zur Abgaben Didaktik der Geometrie Gruppe 5 Alt, Regine u. Gampfer,Stefanie Inhalt der Klassenstufe 2 in Geometrie Der Geometrieunterricht im zweiten Schuljahr findet in allen fünf Ebenen der Geometrie

Mehr

1 Grundlagen der Objektorientierung

1 Grundlagen der Objektorientierung Kapitel 1 Grundlagen der Objektorientierung Seite 1 1 Grundlagen der Objektorientierung Dieses Kapitel stellt eine solide, pragmatische Einführung in die fundamentalen Konzepte der Objektorientierung dar.

Mehr

Objektorientierte Beschreibung einfacher Vektorgrafiken

Objektorientierte Beschreibung einfacher Vektorgrafiken Objektorientierte Beschreibung einfacher Vektorgrafiken Stand: 20.01.2016 Jahrgangsstufen Lernbereich 1: Modul 1.2 Fach/Fächer Zeitrahmen Benötigtes Material Informationstechnologie 1 Unterrichtsstunde

Mehr

Aufgabe 2 (Musterlösung) CorelDRAW

Aufgabe 2 (Musterlösung) CorelDRAW Aufgabe 2 (Musterlösung) CorelDRAW Seite 1 von 9 Aufgabe 2 (Musterlösung) CorelDRAW Inhaltsverzeichnis Einleitung... 2 Musterlösung... 2 Nachtrag... 9 Abbildungsverzeichnis Abb. 1: Linie und Dreieck (vorher

Mehr

EF Q1 Q2 Seite 1

EF Q1 Q2 Seite 1 Aspekte der Leistungsbewertung: Klausuren In den vergangenen Jahren konnte der Informatikkurs am JAG nicht über die Jgst. 11 in die Q1/Q2 fortgeführt werden. Daher existieren auf der Basis der geltenden

Mehr

Polymorphie und UML Klassendiagramme

Polymorphie und UML Klassendiagramme Polymorphie und UML Klassendiagramme Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Vererbung hat einen sehr interessanten und effektiven Effekt: die Polymorphie. Darum geht es in dieser Veranstaltung. 2

Mehr

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative

Mehr

Analyse der Klasse Konto

Analyse der Klasse Konto Klasse Konto erzeugt Objekte vom Typ Konto mit gleichen Eigenschaften mit gleichen Fähigkeiten Welche Eigenschaften hat ein Konto? Attribute Datenfelder - Konto hat eine Nummer - Konto hat Inhaber - Konto

Mehr

Kapitel 10 Mampfi im Labyrinth

Kapitel 10 Mampfi im Labyrinth Kapitel 10 Mampfi im Labyrinth Seite 1 / 7 Kapitel 10 Mampfi im Labyrinth Lernziele: In diesem Kapitel kommen keine neuen fachlichen Inhalte vor, sondern es werden alte (Beziehung, Objektkommunikation,

Mehr

Java-Programmierung mit NetBeans

Java-Programmierung mit NetBeans Java-Programmierung mit NetBeans Klassen, Objekte, Alternativen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Grundlegende Definitionen - Objekt Ein Objekt ist allgemein ein Gegenstand

Mehr

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative

Mehr

Programmiermethodik WS 2018/2019 Hausaufgabe 4

Programmiermethodik WS 2018/2019 Hausaufgabe 4 Die Hausaufgaben müssen von jedem Studierenden einzeln bearbeitet und abgegeben werden. Die Abgabe muss bis Freitag 23.11.2016 um 13:00 Uhr erfolgen. Für die Hausaufgabe sind die aktuellen Informationen

Mehr

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

Überblick. Überblick. Abstrakte Klassen - rein virtuelle Funktionen Beispiele Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen

Mehr

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

7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code: 7. Arrays Gelegentlich braucht man für ein Programm mehrere Attribute desselben Datentyps oder derselben Klasse. Beispiel: In der Highscore-Liste eines Spiels werden von den 10 besten Spielern die Namen

Mehr

Übung Notendarstellung

Übung Notendarstellung Übung Notendarstellung Einführung Unsere Zeichenfläche hat einige Erweiterungen erfahren, die wir heute nutzen wollen um eine Notendarstellung zu erhalten. Insbesondere hat gibt es nun die Möglichkeit

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 08: Mehr zu Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Wiederholung Heutige Agenda Verwendung der ArrayList 2. Teil: Weitere Aspekte der OO

Mehr

Aufgabe 1 Erstelle mit Hilfe von GEOGEBRA ein dynamisches Geometrie-Programm, das die Mittelsenkrechte

Aufgabe 1 Erstelle mit Hilfe von GEOGEBRA ein dynamisches Geometrie-Programm, das die Mittelsenkrechte AB Mathematik Experimentieren mit GeoGebra Merke Alle folgenden Aufgaben sind mit dem Programm GEOGEBRA auszuführen! Eine ausführliche Einführung in die Bedienung des Programmes erfolgt im Unterricht.

Mehr

4. Modellieren und Diagrammarten

4. Modellieren und Diagrammarten 4. Modellieren und Diagrammarten Zur Entwicklung einer Software ist eine strukturierte Planung notwendig. Erst auf der Grundlage eines Modells (z.b. geeignete Klassendiagramme) kann eine Implementierung

Mehr

Ein erstes "Hello world!" Programm

Ein erstes Hello world! Programm OOP Henrik Horstmann 14. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Die Benutzer Oberfläche von HOOPLU...2 2.1 Projekte öffnen und speichern...2 2.2 Die Klasse Program

Mehr

3. Bedingte Anweisungen

3. Bedingte Anweisungen 3. Bedingte Anweisungen Fallunterscheidungen der Form WENN...DANN... in der Informatik kennst du aus der 7. Klasse beim Programmieren mit Karol sowie aus der 9. Klasse beim Arbeiten mit Tabellen und Datenbanken.

Mehr

Optische Täuschungen 2. Teil

Optische Täuschungen 2. Teil Benötigte Hard- oder Software Präsentationsprogramm Anmerkung: Die Anleitung ist optimiert für Microsoft PowerPoint 03. Die Schülerinnen/Schüler haben mit dem Projekt Optische Täuschungen /Illusionen bereits

Mehr

4. Objektorientierte Programmierung mit C++

4. Objektorientierte Programmierung mit C++ 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung der Sprachfamilie Erweiterungen der Sprache C: Ein- und Ausgabe, Referenzen, Speicherallokation und Freigabe Grundlagen des Typkonzepts

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

Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung. 6. Übungsblatt

Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung. 6. Übungsblatt Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung Prof. Redlich 6. Übungsblatt 21 (+4) Punkte Abgabe bis 31.01.2010 (08:00 Uhr) über GOYA Aufgabe

Mehr

Das Grafikfenster ist dein Zeichenfeld. In das Eingabefenster kannst du mathematische Ausdrücke eingeben, zb die Koordinaten eines Punktes.

Das Grafikfenster ist dein Zeichenfeld. In das Eingabefenster kannst du mathematische Ausdrücke eingeben, zb die Koordinaten eines Punktes. Körper und Figuren Eigenschaften von Figuren So zeichnest du Figuren mit der Geometrie-Software Geogebra Wenn du Geogebra startest, siehst du drei Fenster: das Grafikfenster, das Algebrafenster und das

Mehr

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke.

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke. Java Übung Übung 5 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 9. Mai 2006 (UniDUE) 9. Mai 2006 1 / 20 Beispiel Anforderungen: Klasse Mensch mit Attributen: Name, Alter, Laune, Geschlecht.

Mehr

Teil 2: Weitere Aspekte der Objektorientierung

Teil 2: Weitere Aspekte der Objektorientierung Teil 2: Weitere Aspekte der Objektorientierung Klassenvariablen So wie es Instanzvariablen gibt, die zu einer gewissen Instanz (Objekt) gehören und deren Attribute speichern, so gibt es aus Klassenvariablen:

Mehr

Symmetrien an Zahlenfeldern: Die Hälfte färben Eigene Notizen zum Unterricht

Symmetrien an Zahlenfeldern: Die Hälfte färben Eigene Notizen zum Unterricht Symmetrien an Zahlenfeldern: Die Hälfte färben Eigene Notizen zum Unterricht Vierersummen in Zahlenfeldern Darum geht es: Auf dem Zwanzigerfeld und der Hundertertafel lassen sich Muster geometrisch und

Mehr

Sachinformation. TButton. TLabel. TMemo

Sachinformation. TButton. TLabel. TMemo Sachinformation Oft fehlt es im Informatik-Unterricht an kurzen, zielgerichteten Aufgaben (Übungsaufgaben), mit denen Schüler/innen den Umgang mit den grundlegenden Konzepten der Objektorientierung (auch

Mehr

Letztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a);

Letztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a); Letztes Mal static int ggt(int a, int b) { if (a == b) return a; else if (a > b) } return ggt(a-b,b); else if (a < b) return ggt(a,b-a); Darf hier nicht stehen! Compiler sagt: Missing return statement

Mehr

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,

Mehr

Dynamische Geometrie

Dynamische Geometrie Dynamische Geometrie 1) Die Mittelsenkrechten, die Seitenhalbierenden, die Höhen und die Winkelhalbierenden eines beliebigen Dreiecks schneiden sich jeweils in einem Punkt. a) Untersuchen Sie die Lage

Mehr

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

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr

Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java

Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java 1. Klassen und Objekte Zunächst wollen wir mit Hilfe eines Miniprogramms die Entwicklungsumgebung BlueJkennen lernen. Die Installation

Mehr

Kapitel 5 Das Projekt Bahn Seite 1

Kapitel 5 Das Projekt Bahn Seite 1 Kapitel 5 Das Projekt Bahn Seite 1 8 Das Projekt Bahn In diesem Kapitel möchte ich nur einen ersten Einblick in die Konzepte der Vererbung und des Polymorphismus geben. Als Motivation dient ein Zug, den

Mehr

2. Arbeiten mit einfachen Objekten

2. Arbeiten mit einfachen Objekten 2. Arbeiten mit einfachen Objekten Wir wollen uns in diesem Abschnitt mit dem Erstellen und auch mit dem Bearbeiten von einfachen Objekten auseinandersetzen. Die Arbeit in CorelDRAW besteht aus der Anordnung

Mehr

Java Vererbung. Inhalt

Java Vererbung. Inhalt Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter

Mehr

OOP. Mit Zahlen rechnen. Henrik Horstmann

OOP. Mit Zahlen rechnen. Henrik Horstmann OOP Mit Zahlen rechnen Henrik Horstmann 15. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Ein Taschenrechner zum Addieren...2 3 Die Benutzereingaben...3 4 Strings in

Mehr

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte

Mehr

1. Die rekursive Datenstruktur Liste

1. Die rekursive Datenstruktur Liste 1. Die rekursive Datenstruktur Liste 1.4 Methoden der Datenstruktur Liste Die Warteschlange (Queue) ist ein Sonderfall der Datenstruktur Liste. Bei der Warteschlange werden Einfügen und Entfernen nach

Mehr

03. übung. InDesign. medienwerkstatt // seite 1

03. übung. InDesign. medienwerkstatt // seite 1 InDesign medienwerkstatt // seite 1 03.01. gesetz der prägnanz cmd + n = neues Dokument 1. dokument einrichten Format Doppelseitig / Einseitig Seitenränder Menüleiste: Datei > Neu > Dokument Doppelseite

Mehr

Dabei handelt es sich um eine Tabelle, in der die Zeilen- und Spaltenüberschriften die Knotenbezeichner sind.

Dabei handelt es sich um eine Tabelle, in der die Zeilen- und Spaltenüberschriften die Knotenbezeichner sind. 3. Die Datenstruktur Graph 3.2 Repräsentation von Graphen Für die Darstellung eines Graphen eignet sich die sogenannte Adjazenzmatrix. Dabei handelt es sich um eine Tabelle, in der die Zeilen- und Spaltenüberschriften

Mehr

Der Operator this. Wir betrachten nochmals die Klassendefinition von Ballon.

Der Operator this. Wir betrachten nochmals die Klassendefinition von Ballon. Der Operator this Wir betrachten nochmals die Klassendefinition von Ballon. public class Ballon { private int durchmesser; private int x1, y1; private Color farbe =Color.black; // Konstruktor ohne Farbe

Mehr

Ersatz für freie Listen in SibankPLUS

Ersatz für freie Listen in SibankPLUS Ersatz für freie Listen in SibankPLUS Wer auf die Schnelle eine Liste erstellen möchte und bereit ist, auf Kopfzeilen und anderes Design zu verzichten, hat folgende Möglichkeit: Klicken Sie den Button

Mehr

Einführung in die Systemprogrammierung

Einführung in die Systemprogrammierung Einführung in die Systemprogrammierung Virtuelle Methodentabellen Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 9. Juli 2015 Struktur der Objektorientierung Ein wenig Java: public

Mehr

Created by Michael Kirsch & Beat Rossmy

Created by Michael Kirsch & Beat Rossmy PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK Created by Michael Kirsch & Beat Rossmy INHALT 1. Sto der Vorlesung 1. PImage 2. Übung 1. Aufgabe 1 2. Modulo 2. Aufgabe 2 3. Animation-Array STOFF DER VORLESUNG

Mehr

Interfaces. Definition von Interfaces Verwendung von Interfaces Vordefinierte Interfaces Beispiele. Dr. Beatrice Amrhein

Interfaces. Definition von Interfaces Verwendung von Interfaces Vordefinierte Interfaces Beispiele. Dr. Beatrice Amrhein Interfaces Definition von Interfaces Verwendung von Interfaces Vordefinierte Interfaces Beispiele Dr. Beatrice Amrhein Definition: Interface Ein Interface dient dazu, Schnittstellen klar zu definieren

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)

Mehr

Kapitel 2 Einfache Schleifen mit dem Befehl repeat

Kapitel 2 Einfache Schleifen mit dem Befehl repeat Kapitel 2 Einfache Schleifen mit dem Befehl repeat In diesem Kapitel lernen wir einen Befehl kennen, der es uns ermöglicht, mit kurzen Programmen wirklich komplexe Bilder zu zeichnen. Wie wir schon erkannt

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober 2001 Stefan Holland Informatik II Hinweise: Klausur II Verwenden Sie für Ihre Lösungen ausschließlich

Mehr

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

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0 9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung

Mehr

Ökosystem Weiher. Handout

Ökosystem Weiher. Handout Ökosystem Weiher Handout 0 Informationsbeschaffung: Es ist alles möglich: Nachschlagen in der Bibliothek, Informationsbeschaffung im Internet, auf das Wissen der Anwesenden zurückgreifen, Sucht zu diesem

Mehr

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Informatik II Übung 06. Benjamin Hepp 5 April 2017 Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.

Mehr

Formulare. Datenbankanwendung 113

Formulare. Datenbankanwendung 113 Formulare Wenn Sie mit sehr umfangreichen Tabellen arbeiten, werden Sie an der Datenblattansicht von Access nicht lange Ihre Freude haben, sind dort doch immer zu wenig Felder gleichzeitig sichtbar. Um

Mehr

JTable. W. Lang HWR Berlin, SS

JTable. W. Lang HWR Berlin, SS JTable W. Lang HWR Berlin, SS 2014 1 JTable Die Swing-Komponente JTable dient der Darstellung einer zweidimensionalen Tabelle Verwendung häufig im Zusammenhang mit Datenbankanwendungen Im Gegensatz zu

Mehr

Aufgabenblatt 9. Die Abgabe muss bis Sonntag, 21. Juni 2009, 24 Uhr, erfolgen. Verspätet eingereichte Lösungen werden nicht berücksichtigt.

Aufgabenblatt 9. Die Abgabe muss bis Sonntag, 21. Juni 2009, 24 Uhr, erfolgen. Verspätet eingereichte Lösungen werden nicht berücksichtigt. Fachbereich Informatik Prof. Dr. Peter Becker Programmiersprache Java Objektorientierte Programmierung II Sommersemester 2009 8. Juni 2009 Aufgabenblatt 9 Vorbemerkungen Mit diesem Aufgabenblatt können

Mehr

Programmierung für Mathematik HS11

Programmierung für Mathematik HS11 software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

So gibst du die Richtung mit einem Kompass vor

So gibst du die Richtung mit einem Kompass vor So gibst du die Richtung mit einem Kompass vor Das bevorstehende neue Jahr ist vielerorts Anlass zur Neubestimmung oder Anpassung von Zielen. Warum dafür nicht einen Kompass als bildhafte Darstellung nutzen?

Mehr

Unterrichtseinheit 51

Unterrichtseinheit 51 Unterrichtseinheit 51!! 1 INHALTSVERZEICHNIS 8.9 Übung: "Figuren für das Handgelenk" S. 3!! 2 8.9 "FIGUREN FÜR DAS HANDGELENK" Das Video ansehen Einführung zur Übung Das Handgelenk ist ein Teil der oberen

Mehr

Aufgabenblatt 4. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:

Aufgabenblatt 4. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt: Aufgabenblatt 4 Kompetenzstufe 1 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 08.12.2017 13:00 Uhr in TUWEL hoch.

Mehr

hue13 January 30, 2017

hue13 January 30, 2017 hue13 January 30, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11 C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen

Mehr

7. Objektorientierung. Informatik II für Verkehrsingenieure

7. Objektorientierung. Informatik II für Verkehrsingenieure 7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete

Mehr

Teil 2: OOP und JAVA (Vorlesung 11)

Teil 2: OOP und JAVA (Vorlesung 11) Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil

Mehr

Präsentation Interfaces

Präsentation Interfaces Einführung in Java Präsentation Interfaces Nozar Delassaei Marvi Inhalt 1. Erinnerung Klasse Objekte Beispiel Klasse Abstrakte Klasse Beispiel Abstrakte Klasse Mehrfachvererbung-1 Mehrfachvererbung-2 2.

Mehr

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE Nutzung des AMCS (Auditorium Mobile Classroom Service) https://amcs.website Einloggen/Registrieren mit beliebigem Pseudonym Passwort Kurs Softwaretechnologie PIN:

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, Polymorphie und innere Klassen 2 Vererbung im Klassendiagramm (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Object

Mehr

Aufgabenblatt 5. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:

Aufgabenblatt 5. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt: Aufgabenblatt 5 Kompetenzstufe 1 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 05.01.2018 13:00 Uhr in TUWEL hoch.

Mehr

Staubsauger-Roboter. Als Vorlage dienen dir drei Klassen: RECHTECK Damit kannst du die Wände des Raums darstellen.

Staubsauger-Roboter. Als Vorlage dienen dir drei Klassen: RECHTECK Damit kannst du die Wände des Raums darstellen. Projekt: Staubsauger-Roboter Immer beliebter werden die kleinen automatischen Haushaltshilfen. Du sollst nun einen Staubsauger-Roboter programmieren, der gesteuert von einer künstlichen Intelligenz (KI)

Mehr

Einführung in die Programmierung mit BlueJ

Einführung in die Programmierung mit BlueJ Einführung in die Programmierung mit BlueJ Thema 4 Steuerstrukturen - Verzweigungen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Daten speichern: Datenfelder Instanzvariablen,

Mehr

Kapitel 18 Jetzt kommt Bewegung ins Spiel

Kapitel 18 Jetzt kommt Bewegung ins Spiel Kapitel 18 Jetzt kommt Bewegung ins Spiel Seite 1 / 10 Kapitel 18 Jetzt kommt Bewegung ins Spiel Lernziele: In diesem Kapitel lernst du das Importieren von Java-Bibliotheksklassen. Wiederholung: Bei den

Mehr

Aufgabenblatt 1. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:

Aufgabenblatt 1. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt: Aufgabenblatt 1 Kompetenzstufe 1 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 03.11.2017 13:00 Uhr in TUWEL hoch.

Mehr

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12. Heute Nachbetrachtung Wissensüberprüfung Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.2015 IT I - VO 9 1 Organisatorisches Zwischentest findet am 16.12. von 17:30 bis

Mehr

Flappy Bird BlueJ Station 1: Flappy erstellen und bewegen

Flappy Bird BlueJ Station 1: Flappy erstellen und bewegen Flappy Bird BlueJ Station 1: Flappy erstellen und bewegen In diesen Arbeitsblatt geht es darum, dass Flappy erstellt wird. Flappy sich automatisch nach unten bewegt. die Tastatur benutzt werden kann, um

Mehr

Kapitel 06. Klassen und Objekte. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 06. Klassen und Objekte. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 06 Klassen und Objekte Inhalt des 6. Kapitels Klassen und Objekte 6.1 Was ist eine Klasse? Definition Die Klasse String 6.2 Klassendefinition äußerer Teil innerer Teil - Datenfelder - Konstruktor

Mehr

Text, Formeln und Graphiken in Word 2007

Text, Formeln und Graphiken in Word 2007 Text, Formeln und Graphiken in Word 2007 1. Formeln Word 2007 verfügt über einen leistungsfähigen Formeleditor. Durch diese Einstellung kann man eines der griechischen Buchstaben oder ein mathem. Symbol

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch

Mehr

ALP II Dynamische Datenmengen Datenabstraktion

ALP II Dynamische Datenmengen Datenabstraktion ALP II Dynamische Datenmengen Datenabstraktion O1 O2 O3 O4 SS 2012 Prof Dr Margarita Esponda M Esponda-Argüero 1 Dynamische Datenmengen Dynamische Datenmengen können durch verschiedene Datenstrukturen

Mehr

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

Der Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw. Objekt-Orientierung Die ersten objektorientierten Sprachen wurden ab 1967 entwickelt (Simula, Smalltalk). Die Grundidee besteht darin, Objekte der realen Welt abzubilden. Java-Programme bestehen aus Klassen.

Mehr

Objektorientierte Programmierung mit Java

Objektorientierte Programmierung mit Java David J. Barnes Michael Kölling Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Übersetzt von Axel Schmolitzky, Universität Hamburg PEARSON Studium ein Imprint von Pearson

Mehr

Übung Programmierung WS 2007/08 - Blatt 6

Übung Programmierung WS 2007/08 - Blatt 6 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Vererbung und Polymorphie

Vererbung und Polymorphie Vererbung und Polymorphie Aufgabe 1: Vererbungsbaum entwerfen a) Finden Sie sinnvolle Beziehungen. Füllen Sie die letzten Spalten aus. Hinweis: Es kann nicht alles mit etwas anderem verbunden werden. Klasse

Mehr