Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in die Programmierung mit Java

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in die Programmierung mit Java"—  Präsentation transkript:

1 Einführung in die Programmierung mit Java
5. Vorlesung WS 2002/2003

2 Übersicht Objektorientierte Programmierung/Modellierung: Grundbegriffe
Klasse, Objekt, Kapselung, ... Klassen und Objekte Definition von Klassen Erzeugen von Objekten (Instanzen) Zugriff auf Attribute eines Objekts G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

3 Objektorientierte Prinzipien
Klassenbildung Objekte mit gleichen Eigenschaften werden zu Klassen zusammengefasst Objekte haben Attribute und Methoden Kapselung Zugriff auf Objekte nur über wohldefinierte Schnittstellen (Methoden) Verbergen von unwichtigen Details Vererbung (später ... ) Polymorphismus (später ... ) G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

4 Klassen zunächst nur 'einfache' Klassen Klasse besteht aus
haben nur Attribute (Eigenschaften) keine Methoden (erst in nächster Stunde)  zunächst keine Kapselung Klasse besteht aus einem Klassennamen beliebig vielen Attributen Attribute haben einen (einfachen) Typ, z.B. int, double Beispiel: Klasse „Punkt“ mit x- und y-Koordinate (Typ double) und Nummer (Typ int). G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

5 Definition einer Klasse
Klassenname Definition einer Klasse Attribute werden deklariert wie Variablen, stehen jedoch innerhalb einer Klasse. Syntax: class Klassenname { Typ1 Variablenname1; Typ2 Variablenname2; . . . } Beispiel: class Punkt { double x_Koordinate; double y_Koordinate; int Punktnummer; } Deklaration der Attribute: jede Instanz (Objekt) der Klasse hat gleichnamige Variablen (Attribute); die Werte können aber für jedes Objekt individuell zugewiesen werden. G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

6 Forte: Hinzufügen einer neuen Klasse
Rechtsklick auf Verzeichnis mit "main"-Klasse New - Classes - Class Klassenamen eingeben Finish Ergebnis: public class Punkt extends Object { /** Creates new Punkt */ public Punkt() { } Attribute hinzufügen ... in einer Datei Punkt.java G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

7 Erzeugen von Objekten einer Klasse
Syntax: Klassenname Variable; // Deklaration Variable = new Klassenname (); //Instantiierung Beispiel: Punkt p1; //Deklaration der Variablen p1 p1 = new Punkt(); // Erzeugung einer Instanz der //Klasse Punkt; p1 ist eine //Referenz auf die Instanz Punkt p2; p2 = new Punkt(); Punkt p3 = new Punkt(); G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

8 Zugriff auf Attribute eines Objekts
class Punkt { double x_Koordinate; double y_Koordinate; int Punktnummer; } Syntax: Variablenname.Attributname Beispiel: Punkt p1; p1 = new Punkt(); p1.x_Koordinate = ; p1.y_Koordinate = ; p1.Punktnummer = 6564; double Abstand = p1.x_Koordinate + ... Attribute eines Objekts können genauso verwendet werden wie andere Variablen desselben Typs G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

9 Klassendefinition in Datei Rechteck.java
Beispiel: Rechteck class Rechteck { double breite; double hoehe; } class XXXX { public static void main (String args[]) { // Hauptprogramm Rechteck my_rechteck1; // Deklaration einer Objektvariablen my_rechteck1 = new Rechteck(); // Instantiierung eines Objekts my_rechteck1.breite = 10.0; // Zugriff auf Variablen der my_rechteck1.hoehe = 5.0; // Instanz (Zuweisung eines Werts) Rechteck my_rechteck2 = new Rechteck(); // 2. Objekt dekl. & instant. my_rechteck2.breite = my_rechteck1.breite - 2.0; my_rechteck2.hoehe = 7.5; Klassendefinition in Datei Rechteck.java Hauptprogramm in Datei XXXX.java in Methode "main" G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

10 Übungsaufgabe Definiert eine Klasse "Kreis" mit den Eigenschaften eines Kreises (Radius, Mittelpunkt). Erzeugt fünf Instanzen der Klasse mit gleichem Mittelpunkt und verschiedenen Radien. Hinweise: class Rechteck { double breite; double hoehe; } public static void main (String args[]) { Rechteck my_rechteck1; my_rechteck1 = new Rechteck(); my_rechteck1.breite = 10.0; G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

11 Einschub: Arrays vom Typ einer Klasse
Wie erhält man Arrays mit Instanzen einer Klasse, z.B. Punkt? int [ ] IntegerArray = new int[6]; Punkt [ ] PunktArray = new Punkt[6]; Typ der Arrayelemente ist Punkt (statt int) erforderlich: Instantiieren der einzelnen Punkte: PunktArray[0] = new Punkt(); PunktArray[1] = new Punkt(); PunktArray x = 0.0 y = 0.0 nummer = 0 1 2 3 4 5 G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

12 Zugriff auf Attribute von Instanzen in Array
Zugriff auf Arrayelement: Arrayname[index] Beispiel: my_array[0]; Zugriff auf Attribut: Referenzvariable.Attributname Beispiel: p1.X_Koordinate Kombination: Arrayname[index].Attributname Beispiel: PunktArray[0].X_Koordinate = ; G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

13 Übungsaufgabe Speichert die in der vorherigen Übung erzeugten fünf Instanzen der Klasse "Kreis" in einem Array ab. Hinweis zur Syntax: Punkt [ ] PunktArray = new Punkt[6]; PunktArray[0] = new Punkt(); PunktArray[0].X_Koordinate = ; G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

14 Hausaufgabe Entwerft analog zur Definition von Rechtecken die Klassendefinitionen für Dreiecke, Ellipsen und Trapeze. Erzeugt mindestens eine Instanz jeder Klasse weist ihnen sinnvolle Werte zu. Hinweis: Die Lösung umfasst mehrere .java-Dateien. In jedem der Dateinamen (und auch Klassennamen) muss Euer Nachname auftauchen (z.B. SchmitzDreieck.java) G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03


Herunterladen ppt "Einführung in die Programmierung mit Java"

Ähnliche Präsentationen


Google-Anzeigen