Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Objektorientiertes Konstruieren

Ähnliche Präsentationen


Präsentation zum Thema: "Objektorientiertes Konstruieren"—  Präsentation transkript:

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

2 Klassendeklaration (Gerüst)
Learning By Doing Klassendeklaration (Gerüst) Dateiname Instanzvariablen Konstruktor Methode (Akzessor) Methode Klassenname // 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

3 Applikationsklasse Learning By Doing Applikationsklasse Dateiname Import Klassenname main Instanzierung Ausschreiben // 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"); } J2SE V1.4: statt import static nur import dafür statt println() überall Console.println()

4 Ausschreiben mit printf() (nur J2SE V5)
Learning By Doing Ausschreiben mit printf() (nur J2SE V5) // 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()); } Formatierungsstring Dokumentation: siehe Klasse Formatter (J2SE V5)

5 Console Learning By Doing Einlesen auf Console // 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); } Double lesen Auf Taste warten Programm beenden Dokumentation: siehe Klasse ch.aplu.util.Console J2SE V1.4: statt import static nur import Alle Methoden f() von Console mit Console.f() aufrufen

6 Standardform für Applikationen
Learning By Doing Standardform für Applikationen // 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(); Konstruktor Instanz der Applikationsklasse J2SE V1.4: statt import static nur import Alle Methoden f() von Console mit Console.f() aufrufen

7 Bemerkungen/Zusammenfassung
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

8 Aufgaben zum objektorientierten Konstruieren
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:

9 Aufgaben zum objektorientierten Konstruieren
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


Herunterladen ppt "Objektorientiertes Konstruieren"

Ähnliche Präsentationen


Google-Anzeigen