Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
Kapselung , toString , equals , Java API
der Universität Oldenburg
Java: Objektorientierte Programmierung
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Ein Beispiel in Java.
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,
Konstruktoren.
Objekte werden als Adressen (Referenzen) übergeben. Dies führt manchmal zu unerwarteten Ergebnissen...
Assoziationen (Beziehungen) 1 : n. Zu einem Auto gibt es mehrere Fahrer (2) und zu diesen 2 Fahrern gibt es genau dieses Auto.
Polymorphie (Vielgestaltigkeit)
Assoziationen (Beziehungen). Zwischen Objekten kann es eine Beziehung geben.
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Imperative Programmierung Funktionen und Parameter
Programmieren mit JAVA
Programmieren mit JAVA
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
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 Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Zusammenfassung Vorwoche
int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0);
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Einführung in Java1 Einführung in JAVA.
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Klassen 02 - Klassen.
05 - Reflection Das Reflection API Reflection2 Ziel Es kommt vor, dass eine Methode ein Objekt als Parameter übergeben bekommt, ohne dass bekannt.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Bestimmung des ggT zweier Zahlen
© 2005 Pohlig GK Informatik K Zum JFrame Step by step by step by step by step by step by step by step by.
© 2006 MPohlig Grundkurs Informatik mit Java 1 JFrame-Vorlage Step by step by step by step by step by step by step by step by.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Klassendefinitionen in Java
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Die Klasse String und ihre Methoden
Aufruf einer Methode eines Objektes vom Typ „Bruch“
EPROG Tutorium #3 Philipp Effenberger
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Instanzmethoden
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
A Workshop About this chapter General description Units Time Schedule
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
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,
Objektorientierte Programmierung (OOP)
Java Programme nur ein bisschen objektorientiert.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Konstruktoren.
Grundkurs Informatik mit Java
Implementieren von Klassen
 Präsentation transkript:

Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden 2. Veranstaltung - WS 03/03

Progwerkstatt Wir sind für Euch da! progwerkstatt@informatik.uni-ulm.de http://www.informatik.uni-ulm.de/ sgi/progwerkstatt/ Im Pool… …und in Vorträgen (aber das wisst ihr ja schon  )

Objektorientiert ? 1 Java objektorientierte Sprache Klassen als Definition Objekte im tatsächlichen Programmablauf

Objektorientiert 2 Bsp Der kleine Franz will ein neues Auto

Objektorientiert 3 Also überlegt er sich, was ein Auto denn alles hat: Räder Lenkrad Pedale Hupe Man sieht seine Vorstellung eines Autos ist noch recht einfach 

Objektorientiert 4 Franz bittet seinen großen Bruder Klaus ihm doch so ein Auto zu bauen. Klaus meint: „Da brauche ich doch erst einmal eine Vorlage…“

Klassen 1 Klassen sind in Java quasi die Vorlage für Objekte Sie enthalten Variablen, die die Attribute des Objektes darstellen Methoden bieten Manipulationsmöglichkeiten

Klassen 2 Klaus baut sich also eine Vorlage…

Klassen 3 Public class Auto { //Attribute für das Auto int raeder; int pedale; boolean hupe; boolean lenkrad; }

Klassen 4 Nun hat das Auto alle Attribute, die es braucht. Jetzt müsste man es nur noch konstruieren. Klaus geht in die Werkstatt…

Klassen 5 In Java muss man die Objekte auch konstruieren um mit ihnen arbeiten zu können. Dafür gibt es in den Klassen die Konstruktoren

Konstruktoren 1 Jede Klasse verfügt über einen leeren Standard-Konstruktor Erzeugt ein Objekt und nimmt für die Attribute Standardwerte an (die auf unterschiedlichen Systemen nicht gleich sein müssen). Implizit Sobald ein eigener Konstruktor angegeben wird, wird Standard-Konstruktor überschrieben.

Konstruktor 2 Angabe in der Klasse Ähnlich einer Methode, allerdings: Name wie Klasse Keine Angabe über einen Rückgabewert Parameterangabe wie bei Methoden möglich Mehrere parallele Konstruktoren durch Überladen möglich

Konstruktor 3 … Dieser Konstruktor public Auto(){ erzeugt immer „Autos“ raeder = 4; (genauer Objekte vom pedale = 3; Typ Auto) mit 4 lenkrad = true; Räder, 3 Pedalen, hupe = true; 1 Lenkrad und 1 Hupe } …

Konstruktor 4 Ein etwas anderer Konstruktor public Auto (int r, int p, boolean h){ raeder = r; pedale = p; lenkrad = true; hupe = h; }

Konstruktor 5 Dieser Konstruktor lässt mehr Freiheiten bei der Konstruktion des Objekts -> Parameter angebbar Parallel zum ersten Konstruktor in der Klasse

Neue Objekte 1 Objekte werden in Java normalerweise mittels new <Konstruktor> erzeugt Bsp: Auto pkw = new Auto(); Auto AutoXP = new Auto (3, 2, false);

Neue Objekte 2 Ein Auto bekommt man also durch: = new( ); 

Methoden 1 Franz freut sich über sein neues und gibt gleich einmal Gas…

Methoden 2 Objekte können manipuliert werden Dazu gibt es die Methoden Rückgabewerte (mittels return) oder void für keine Rückgaben Parameter Werden stets auf Objekte angewandt (Ausnahme: static – Methoden)

Methoden 3 Eine Beispielmethode public void gibGas(){ faehrt = true; } „faehrt“ ist dabei ein weiteres Attribut von Auto (und muss natürlich in der Klasse als solches definiert werden).

Methoden 4 Und bremsen müssen wir natürlich auch noch: public void bremse(){ faehrt = false; }

Methoden 5 Fahr ich oder stehe ich? public boolean gibStatus(){ return faehrt; } Hier eine Methode mit Rückgabewert. Wichtig: return - Statement

Methoden 6 Aufruf von Methoden: … Auto car = new Auto(); car.gibGas(); Man sieht, Methoden sind normalerweise objektgebunden

Methoden 7 Ausnahme: statische Methoden Schlüsselwort static Können über eine Klasse aufgerufen werden, ohne dass vorher ein Objekt dieser Klasse (mittels new) instanziert wurde Verlassen des objektorientierten Konzeptes aber hin und wieder nützlich Eine bekannte statische Methode: public static void main(String[] args){…}

Die Auto – Klasse 1 public class Auto{ int raeder; int pedale; boolean lenkrad; boolean hupe; boolean faehrt; // -- Konstruktoren -- public Auto(){ raeder = 4; pedale = 3; lenkrad = true; hupe = true; faehrt = false; } public Auto (int s, int p, boolean h){ raeder = s; pedale = p; lenkrad = true; hupe = h; faehrt = false; } // -- Ende der Konstruktoren --

Die Auto Klasse 2 public void gibGas(){ faehrt = true; } public void bremse() { faehrt = false; public boolean gibStatus(){ return faehrt; public void hupe(){ if (hupe){ System.out.println(„Hup“); } … }//Klasse Auto Ende

Die Auto Klasse 3 Natürlich kann man die Klasse beliebig erweitern Übung macht den Meister – auch in Java Wer mag kann die Auto – Klasse erweitern, umschreiben, verbessern… 

Fazit Franz hat sein neues Auto und ist glücklich… Und Euch hat der Vortrag hoffentlich geholfen  Fragen?