Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmieren mit JAVA Teil III. Hauptbestandteile der Sprache Token Typen Ausdrücke und Operatoren Anweisungen Klassen Methoden Schnittstellen Pakete.

Ähnliche Präsentationen


Präsentation zum Thema: "Programmieren mit JAVA Teil III. Hauptbestandteile der Sprache Token Typen Ausdrücke und Operatoren Anweisungen Klassen Methoden Schnittstellen Pakete."—  Präsentation transkript:

1 Programmieren mit JAVA Teil III

2 Hauptbestandteile der Sprache Token Typen Ausdrücke und Operatoren Anweisungen Klassen Methoden Schnittstellen Pakete Variablen

3 Klassen Eine Klassendefinition in Java wird durch das Schlüsselwort class eingeleitet. Anschließend folgt innerhalb von geschweiften Klammern eine beliebige Anzahl an Variablen- und Methodendefinitionen. Das folgende Listing ist ein Beispiel für eine einfache Klassendefinition: public class Auto { public String name; public int erstzulassung; public int leistung; }

4 Klasse - Deklaration Syntax: [modifiers] class NeueKlasse [extends NamederSuperklasse] [implements NamederSchnittstelle] 4 Eigenschaften einer Klasse können in der Deklaration definiert werden: Modifier Klassenname Superklasse Schnittstellen

5 Klasse - Modifier keinen (freundliche Klasse) können nur von Objekten eines Paketes genutzt werden public alle Objekte können auf diese Klasse zugreifen final kann nicht mehr abgeleitet werden (haben keine Subklassen) abstract von dieser Klasse wird nie eine Instanz benötigt und kann auch keine bilden, sie dient zu allgemeinen Verweisen

6 Klasse - Klassenname jede Klasse muss einen eigenen Namen haben Regel für den Namen siehe Token man sollte sprechende Klassennamen verwenden der Name sollte mit einem Großbuchstaben beginnen, der Rest Kleinbuchstaben hat der Name mehrere Wörter, so darf kein Leerzeichen dazwischen sein Bsp.: MeineNeueKlasse

7 Klasse - Superklassen mit dem Schlüsselwort extends spezifiziert man die Klasse, auf welche die neue Klasse aufbaut die Superklasse wird durch die neue Klasse erweitert (Vererbung) Bsp.: import java.awt.Graphics; public class HelloJavaApplet extends java.applet.Applet { public void paint(Graphics g) { g.drawString("Hello Java!",5,25); }

8 Klasse - Schnittstelle statt Mehrfachvererbung gibt es das Schnittstellenkonzept Objekte können eine beliebige Zahl davon implementieren sind Sammlungen von Methodennamen ohne konkrete Definition deshalb muss jede nichtabstrakte Klasse alle in der Schnittstelle deklarierten Methoden überschreiben

9 Objekte Um von einer Klasse ein Objekt anzulegen, muß eine Variable vom Typ der Klasse deklariert werden und ihr mit Hilfe des new-Operators ein neu erzeugtes Objekt zugewiesen werden Bsp.: Auto meinKombi; meinKombi = new Auto(); public class Auto { public String name; public int erstzulassung; public int leistung; } Auto meinKombi = new Auto();

10 Objekte Nach der Initialisierung haben alle Variablen des Objekts zunächst Standardwerte Referenztypen haben den Standardwert null, die Standardwerte der primitiven Typen können V2 entnommen werden Der Zugriff auf sie erfolgt mit Hilfe der Punktnotation Objekt.Variable Bsp.: meinKombi.name = "Mercedes 600"; meinKombi.erstzulassung = 1972; meinKombi.leistung = 250; public class Auto { public String name; public int erstzulassung; public int leistung; }

11 Objekte auch der lesende Zugriff erfolgt mit Hilfe der Punktnotation Bsp.: System.out.println("Name : "+meinKombi.name); System.out.println("Zugelassen..: "+meinKombi.erstzulassung); System.out.println("Leistung....: "+meinKombi.leistung);

12 Methoden Methoden definieren das Verhalten von Objekten Sie werden innerhalb einer Klassendefinition angelegt Sie haben Zugriff auf alle Variablen des Objekts Methoden sind das Pendant zu den Funktionen anderer Programmiersprachen Sie arbeiten aber immer nur mit den Variablen des aktuellen Objekts In Java gibt es keine globalen Methoden wie auch keine globale Variablen

13 Methoden - Syntax [Modifier] /* private, protected, public, static, final */ Typ Name([Parameter]) /*Typ des Rückgabewerts der Funktion, ihr Name und eine optionale Parameterliste */ { Anweisung; /* Methodenrumpf=Liste der Anweisungen, die das Verhalten der Methode festlegen */ }

14 Methode - Beispiel Beispielklasse Auto um eine Methode zur Berechnung des Alters des Auto-Objekts erweitert: public class Auto { public String name; public int erstzulassung; public int leistung; public int alter() { return erstzulassung; }

15 Methode - Aufruf Der Aufruf einer Methode erfolgt ähnlich der Verwendung einer Instanzvariablen in Punktnotation Zur Unterscheidung von einem Variablenzugriff müssen zusätzlich die Parameter der Methode in Klammern angegeben werden, selbst wenn die Liste leer ist Bsp.: Auto golf1 = new Auto(); golf1.erstzulassung = 1990; System.out.println(golf1.alter()); Welcher Wert wird ausgegeben?

16 Methoden - Parameter Eine Methode kann mit Parametern definiert werden Jeder formale Parameter besteht aus einem Typnamen und dem Namen des Parameters Mehrere Parameter sind durch Kommata zu trennen Bsp.: public void printAlter(int wieoft) { while (wieoft-- > 0) { System.out.println("Alter = " + alter()); } }

17 Wie oft wird in diesem Programm das Alter des Autos ausgegeben? public class Auto { public int erstzulassung; Auto meinAuto = new Auto(); meinAuto.erstzulassung = 1990; public int alter() { return erstzulassung; } public void printAlter(int wieoft) { while (wieoft-- > 0) { System.out.println("Alter = " + alter()); } } int a = 3; auto.printAlter(a); auto.printAlter(a); }

18 Methoden - Übergabe von Objekten Die Methode erhält keine Kopie, sondern arbeitet mit dem Originalobjekt Sollen Objekte kopiert werden, so muss dies explizit durch Aufruf der Methode clone der Klasse Object erfolgen.

19 Methoden - Rückgabe Jede Methode in Java ist typisiert Der Typ einer Methode wird zum Zeitpunkt der Definition festgelegt und bestimmt den Typ des Rückgabewerts Dieser kann von einem beliebigen primitiven Typ, einem Objekttyp oder vom Typ void sein Die Methoden vom Typ void haben gar keinen Rückgabewert und dürfen nicht in Ausdrücken verwendet werden Hat eine Methode einen Rückgabewert, so kann sie mit Hilfe der return-Anweisung einen Wert an den Aufrufer zurückgeben Syntax: return Ausdruck;

20 Methoden - Überladen In Java ist es erlaubt, innerhalb einer Klasse zwei unterschiedliche Methoden mit demselben Namen zu definieren Der Compiler unterscheidet die verschiedenen Varianten anhand der Anzahl und Typisierung der Parameter Überladen von Methoden ist dann sinnvoll, wenn die gleichnamigen Methoden auch eine vergleichbare Funktionalität haben Bsp.: public int alter(String titel) { int alter = alter(); System.out.println(titel+alter); return alter; }

21 Methoden - Konstruktoren Konstruktoren sind spezielle Methoden, die bei der Initialisierung von Objekten aufgerufen werden. ~ werden als Methoden ohne Rückgabewert definiert, die den Namen der Klasse erhalten, zu der sie gehören Konstruktoren dürfen eine beliebige Anzahl an Parametern haben und können überladen werden Soll ein Objekt unter Verwendung eines parametrisierten Konstruktors instanziert werden, so sind die Argumente wie bei einem Methodenaufruf in Klammern nach dem Namen des Konstruktors anzugeben

22 Methoden - Konstruktoren Bsp.: public class Auto { public String name; public int erstzulassung; public int leistung; public Auto(String name) { this.name = name; } Auto dasAuto = new Auto("Porsche 911"); System.out.println(dasAuto.name); }

23 mehrere Konstruktoren public class Auto { public String name; public int erstzulassung; public int leistung; public Auto(String name){ this.name = name; } public Auto(String name, int erstzulassung, int leistung) { this.name = name; this.erstzulassung = erstzulassung; this.leistung = leistung; } }

24 Methoden - Destruktoren Destruktoren werden unmittelbar vor dem Zerstören eines Objekts aufgerufen Ein Destruktor wird als geschützte parameterlose Methode mit dem Namen finalize definiert Syntax: protected void finalize() {... } Da Java über ein automatisches Speichermanagement verfügt, kommt den Destruktoren eine viel geringere Bedeutung zu als in anderen objektorientierten Sprachen

25 Weiter: Vererbung Attribute von Klassen, Methoden und Variablen Klassen mit static-Elementen Abstrakte Klassen und Methoden Interfaces Spezielle Klassen...


Herunterladen ppt "Programmieren mit JAVA Teil III. Hauptbestandteile der Sprache Token Typen Ausdrücke und Operatoren Anweisungen Klassen Methoden Schnittstellen Pakete."

Ähnliche Präsentationen


Google-Anzeigen