Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Learning By Doing Objektorientiertes Konstruieren Der Bauplan für ein Objekt ist die Klassendeklaration In Java werden die Eigenschaften durch Instanzvariablen,

Ähnliche Präsentationen


Präsentation zum Thema: "Learning By Doing Objektorientiertes Konstruieren Der Bauplan für ein Objekt ist die Klassendeklaration In Java werden die Eigenschaften durch Instanzvariablen,"—  Präsentation transkript:

1 Learning By Doing Objektorientiertes Konstruieren Der Bauplan für ein Objekt ist die Klassendeklaration In Java werden die Eigenschaften durch Instanzvariablen, das Verhalten durch Methoden (Funktionen) beschrieben. Ein Objekt besitzt Eigenschaften und Verhalten (Fähigkeiten) In der Regel gibt es zu einer Klasse mehrere Objekte, Instanzen genannt. Objektorientiertes Konstruieren

2 Learning By Doing // Bankkonto.java class Bankkonto { double kapital; double zinssatz; int anlagejahre = 0; Bankkonto(double kap, double zs) // Konstruktor { } double kontostand() // Gibt aktuellen Kontostand zurück { } int laufzeit() // Gibt die Anlagezeit in Jahren zurück { } void jahresabrechnung() // Führt die Jahresabrechung durch // Setzt neues Kapital, neue Laufzeit { } Klassendeklaration (Gerüst) Dateiname Instanzvariablen Konstruktor Methode (Akzessor) Methode Methode (Akzessor) Klassenname Klassendeklaration

3 Learning By Doing // WbzEx1.java import static ch.aplu.util.Console.*; class WbzEx1 { public static void main(String[] args) { Bankkonto konto = new Bankkonto(200, 2.5); while (konto.kontostand() < 400) konto.jahresabrechnung(); println("Laufzeit mindestens " + konto.laufzeit() + " Jahre"); } Applikationsklasse Dateiname Import Klassenname main Instanzierung Ausschreiben J2SE V1.4: statt import static nur import dafür statt println() überall Console.println() Applikationsklasse

4 Learning By Doing // WbzEx1a.java import static ch.aplu.util.Console.*; class WbzEx1a { public static void main(String[] args) { Bankkonto konto = new Bankkonto(200, 2.5); while (konto.kontostand() < 400) konto.jahresabrechnung(); printf("Laufzeit mindestens %d Jahre", konto.laufzeit()); } Ausschreiben mit printf() (nur J2SE V5) Formatierungsstring Dokumentation: siehe Klasse Formatter (J2SE V5) printf()

5 Learning By Doing // WbzEx1b.java import static ch.aplu.util.Console.*; class WbzEx1b { public static void main(String[] args) { println("Anfangseinlage: "); double anfangseinlage = readDouble(); Bankkonto konto = new Bankkonto(anfangseinlage, 2.5); while (konto.kontostand() < 2*anfangseinlage) konto.jahresabrechnung(); println("Laufzeit mindestens " + konto.laufzeit() + " Jahre"); println("Irgendeine Taste..."); readChar(); System.exit(0); } Einlesen auf Console Auf Taste warten Dokumentation: siehe Klasse ch.aplu.util.Console Double lesen Programm beenden J2SE V1.4: statt import static nur import Alle Methoden f() von Console mit Console.f() aufrufen Console

6 Learning By Doing // WbzEx1c.java import static ch.aplu.util.Console.*; class WbzEx1c { WbzEx1c() { println("Anfangseinlage: "); double anfangseinlage = readDouble(); Bankkonto konto = new Bankkonto(anfangseinlage, 2.5); berechnen(konto, anfangseinlage); println("Laufzeit mindestens " + konto.laufzeit() + " Jahre"); println("Irgendeine Taste..."); readChar(); System.exit(0); } void berechnen(Bankkonto konto, double anfangseinlage) { while (konto.kontostand() < 2*anfangseinlage) konto.jahresabrechnung(); } public static void main(String[] args) { new WbzEx1c(); } Standardform für Applikationen Konstruktor Instanz der Applikationsklasse J2SE V1.4: statt import static nur import Alle Methoden f() von Console mit Console.f() aufrufen Standardform

7 Learning By Doing Bemerkungen/Zusammenfassung Prozedurale Programmierung ist Teil der OOP (Klasse in Methoden aufteilen) Im main() eine Instanz der Applikationsklasse erzeugen, Konstruktor verwenden Initialisierung von Instanzvariablen: - implizite auf 0 (false, null) - explizite bei der Deklaration oder im Konstruktor Akzessoren (getter-Methoden): lesender Zugriff Mutatoren (setter-Methoden): schreibender Zugriff Parameterübergabe an Methoden: nur Call-by-value Statt print(), println() eher printf() einsetzen Statt System.out.print() eher ch.aplu.util.Console einsetzen Zusammenfassung

8 Learning By Doing Aufgaben zum objektorientierten Konstruieren Aufgabe 1: Deklarieren Sie in einer Applikationsklasse eine Methode quadrat, die ein einziges Quadrat erzeugt. Verwenden Sie diese Methode, um folgende Figur zu zeichnen: Aufgabe 1

9 Learning By Doing Aufgaben zum objektorientierten Konstruieren Aufgabe 2: a)Deklarieren Sie ein Klasse Blume, die eine Blume mit Stiel in vorgebbarer Richtung zeichnet. Testen Sie sie mit einer main-Methode aus. b)Deklarieren Sie eine Applikationsklasse, die damit einen Blumenstrauss zeichnet. Aufgabe 2a Aufgabe 2b Aufgabe 2


Herunterladen ppt "Learning By Doing Objektorientiertes Konstruieren Der Bauplan für ein Objekt ist die Klassendeklaration In Java werden die Eigenschaften durch Instanzvariablen,"

Ähnliche Präsentationen


Google-Anzeigen