Dr. Dietrich Boles. Programmierkurs Java. Teil. Objektorientierte Programmierung. Unterrichtseinheit 20. (Hamster-) Objekte

Ähnliche Dokumente
Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.

C.1 Klasse SHamster. public class SHamster extends Hamster { private Hamster shamster;

Spielerisches Erlernen der Programmierung mit dem Java-Hamster-Modell

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Propädeutikum Programmierung in der Bioinformatik

Programmierkurs Java

Inhaltsverzeichnis. 4.9 Aufgaben... 63

1. Einführung. Programmieren 1 / Algorithmen und Datenstrukturen. Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Sommersemester 2010

2.1 Komponenten des Hamster-Modells

2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

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

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen

Computeranwendung und Programmierung (CuP)

Informatik II Übung 05. Benjamin Hepp 3 April 2017

Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten.

Repetitorium Informatik (Java)

7. Objektorientierung. Informatik II für Verkehrsingenieure

Javakurs für Anfänger

Objektorientierte Programmierung Studiengang Medieninformatik

Klassen des J ava-hamster-modells

Hamstern mit BlueJ. Dr. Dietrich Boles. Universität Oldenburg

Erste Java-Programme (Scopes und Rekursion)

Javakurs für Anfänger

Computeranwendung und Programmierung (CuP)

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

Umsetzung einer Klassenkarte in einer Programmiersprache

Java für Anfänger Teil 7: Methoden. Programmierkurs Manfred Jackel

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

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

Um dies zu vermeiden, werden nun drei so genannte Testbefehle eingeführt:

Installation. Start. Das Territorium im Simulator

Visual Basic Hamster

Objektorientierte Programmierung Studiengang Medieninformatik

Javakurs für Anfänger

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

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Objektorientes Design & Programm

2. Vererbung und Kapselung

Java für Bauingenieure

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Skript für den Informatikunterricht an der. Max-Weber-Schule

7. Übung Informatik II - Objektorientierte Programmierung

Dietrich Boles Cornelia Boles. Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell

Intuitive Einführung. Informatik B Objektorientierte Programmierung in Java. Vorlesung 01: Objektorientierte Programmierung (Teil 1)

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -

Einstieg in die Informatik mit Java

Spielerisches Erlernen der Programmierung mit dem Java- Hamster-Modell

Vorkurs Informatik WiSe 16/17

1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

Algorithmen und Programmierung II

Vorkurs Informatik WiSe 17/18

Beispielprüfung CuP WS 2015/2016

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

Einstieg in die Informatik mit Java

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Klausur Grundlagen der Programmierung

Programmieren mit dem Java-Hamster-Modell. VP Orientierung Informatik WS 2008/09 H.Hagenauer

Rückgabewerte von Methoden

Klassen, Vererbung, Benutzereingabe

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

II.1.1. Erste Schritte - 1 -

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

Zentralübung Grundlagen der Programmierung

Tag 7 Repetitorium Informatik (Java)

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Einführung in die Informatik

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

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

Algorithmen implementieren. Implementieren von Algorithmen

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Praktische Informatik 1

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

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

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Elementare Konzepte von

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

2.8 Klassen. Nichtgleichartige Elemente können in Klassen zu einem neuen Typ zusammengefasst werden. Beispiel: Die drei Komponenten

Programmierkurs. Manfred Jackel

Einführung in die Programmierung 1

Einstieg in die Informatik mit Java

Vorkurs Informatik WiSe 15/16

A.1 Exception-Klassen

Objektorientierung. Marc Satkowski 20. November C# Kurs

Ausdrücke in Scala. Funktionale Programmierung. Christoph Knabe FB VI

Fakultät IV Elektrotechnik/Informatik

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

Einstieg in die Informatik mit Java

Objektorientierung (OO)

Java-Programmierung mit NetBeans

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java

Programmierung Nachklausurtutorium

Transkript:

Programmierkurs Java Teil Objektorientierte Programmierung Unterrichtseinheit 20 (Hamster-) Objekte Dr. Dietrich Boles Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 1

Gliederung Imperatives Java-Hamster-Modell Objektorientiertes Java-Hamster-Model Hamster-Objekte Standard-Hamster Hamster-Befehle Objektorientierte Hamster-Programme Neue Hamster-Befehle Bezug zur Objektorientierten Programmierung Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 2

Imperatives Java-Hamster-Modell Imperatives Hamster-Modell (Charakteristika): einzelner Hamster Standard-Hamster Hamster ist namenlos Hamster ist immer da 4 Grundbefehle und 3 Testbefehle 4 Eigenschaften (Attribute) ( Zustand): Reihe der Kachel Spalte der Kachel Blickrichtung Anzahl Körner im Maul Hamster-Programm: Aufruf von Funktionen (Befehlen) Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 3

Objektorientiertes Java-Hamster-Modell (1) Objektorientiertes Hamster-Modell (Charakteristika): Standard-Hamster existiert weiterhin Erzeugung weiterer Hamster möglich Jeder Hamster kennt die 4 Grundbefehle und 3 Testbefehle Es kommen einige neue Befehle hinzu Auf einer Kachel können mehrere Hamster stehen Jeder Hamster besitzt die 4 Attribute Jeder Hamster hat einen (oder mehrere) Namen Wenn ein Hamster einen Fehler macht, sterben alle ( Programmabbruch) OO-Hamster-Programm: Aufruf von Funktionen für Hamster Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 4

Objektorientiertes Java-Hamster-Modell (2) Objektorientiertes Hamster-Modell (Voraussetzungen): Zuordnung von Namen zu Hamstern Anweisung zur Erzeugung von Hamstern Notation, welcher Hamster einen bestimmten Befehl ausführen soll Koordinatensystem für das Territorium 0 1 2 7 Spalte Standard-Hamster (blau) 1 Reihe: 1 Spalte: 1 Blickrichtung: OST Körner: x 4 Reihe 0 neuer Hamster Reihe: 0 Spalte: 6 Blickrichtung: SUED Körner: y Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 5

Hamster-Objekte Erzeugung neuer Hamster: Hamster paul = new Hamster(0, 6, Hamster.SUED, 8); Name (Bezeichner) Reihe (int) Spalte (int) Mögliche Laufzeitfehler: ungültige oder mit Mauern besetzte Kachel ungültige Blickrichtung negative Körneranzahl Körneranzahl (int) Blickrichtung (int) Hamster.NORD (= 0) Hamster.OST (= 1) Hamster.SUED (= 2) Hamster.WEST (= 3) Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 6

Standard-Hamster Zuordnung eines Namens an den Standard-Hamster: Hamster willi = Hamster.getStandardHamster(); Name (Bezeichner) Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 7

Befehle Aufruf von Hamster-Befehlen: <name>.<befehl> Beispiele: Hamster paul = Hamster.getStandardHamster(); if (paul.vornfrei()) paul.vor(); Hamster willi = new Hamster(0, 2, Hamster.OST, 2); while (!willi.maulleer()) willi.gib(); Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 8

OO-Hamster-Programme Objektorientiertes Hamster-Programm: void main() { Hamster paul = Hamster.getStandardHamster(); while (paul.vornfrei()) { paul.vor(); if (paul.kornda()) { paul.nimm(); } } } Demo Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 9

Neue Befehle (1) Zusätzliche Hamster-Befehle: int getreihe() int getspalte() int getblickrichtung() int getanzahlkoerner() void schreib(string nachricht) String lieszeichenkette(string aufforderung) int lieszahl(string aufforderung) Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 10

Neue Befehle (2) void main() { Hamster paul = Hamster.getStandardHamster(); Hamster willi = new Hamster(paul.getReihe() + 1, paul.getspalte(), Hamster.OST, 0); int schritte = paul.lieszahl("anzahl an Schritten?"); while (schritte>0 && paul.vornfrei() && willi.vornfrei()) { paul.vor(); willi.vor(); schritte--; } willi.schreib("fertig!"); } Demo Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 11

Bezug zur Objektorientierten Programmierung Hamster sind Objekte einer (vordefinierten) Klasse Hamster Eine Klasse ist quasi ein Bauplan für gleichartige Dinge (Objekte) Von einer Klasse können Objekte erzeugt werden Eine Klasse definiert (intern) Variablen (Attribute), die jedes Objekt besitzt und die seinen Zustand repräsentieren Eine Klasse definiert Funktionen (Methoden), die für Objekte der Klasse aufgerufen werden können Der Methodenaufruf erfolgt via der Punktnotation über Namen (Objektvariablen), die einem Objekt zugeordnet werden können Eine Klasse definiert einen neuen Typ OO-Programme: Aufruf von Methoden für/von Objekten Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 12