Einführung in die Programmierung mit Java

Slides:



Advertisements
Ähnliche Präsentationen
Objektorientierte Programmierung
Advertisements

Imperative Programmierung
Objektorientierte Programmierung
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Polymorphie (Vielgestaltigkeit)
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 7. Vorlesung WS 2002/2003.
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Objektorientiertes Konstruieren
Variablenkonzept Klassisch, in Java Basistyp
Wilfried Imrich CuP - Java Erste Vorlesung Entspricht ungefähr Kapitel 1.1 des Skriptums Wilfried Imrich Montanuniversität Leoben Freitag, 4. Oktober 2002.
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Instanzmethoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 8. Vorlesung WS 2002/2003.
Einführung in die Programmierung mit Java
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 5. Vorlesung WS 2001/2002.
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Lösung der Hausaufgaben von Vorlesung 10 Universität Bonn Institut für Kartografie und Geoinformation Dipl.-Ing. Dörschlag, Dr. Gröger, Prof. Dr. Plümer.
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/ Übungsaufgabe vom Logische Ausdrücke 1.true & false | true 2.(10>2)
Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003 Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger,
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 7. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. D. Dörschlag Einführung in die Programmierung mit Java.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 10. Vorlesung WS 2002/2003.
G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/041 Übungsaufgabe Ergänzt die Klasse Dreieck aus der Hausaufgabe um eine Methode,
Java-Kurs - 9. Übung Besprechung der Hausaufgabe
Objektorientierte Programmierung (OOP)
Java Programme nur ein bisschen objektorientiert.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Einführung in die Programmierung mit Java
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
Java-Kurs Übung Grafik in Java - das Abstract Windowing Toolkit
Einführung in die Programmierung mit Java
Java-Kurs - 5. Übung Das Paradigma der Objektorientierung (OO)
Einführung in die Programmierung mit Java
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Java-Kurs - 2. Übung primitive Datentypen, Konstanten
Grundkurs Informatik 11-13
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
«Delegierter» Methoden Schablone Funktionszeiger
Implementieren von Klassen
Statische und Nichtstatische Methoden Properties / Eigenschaften
Grundkurs Informatik 11-13
 Präsentation transkript:

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

Ü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 - 1. Semester - WS 02/03

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 - 1. Semester - WS 02/03

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 - 1. Semester - WS 02/03

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 - 1. Semester - WS 02/03

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 - 1. Semester - WS 02/03

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 - 1. Semester - WS 02/03

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 = 56987.43; p1.y_Koordinate = 4365.43; 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 - 1. Semester - WS 02/03

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 - 1. Semester - WS 02/03

Ü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 - 1. Semester - WS 02/03

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 - 1. Semester - WS 02/03

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 = 565.99; G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03

Ü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 = 565.99; G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03

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 - 1. Semester - WS 02/03