Java - Klassen und Objekte



Ähnliche Dokumente
Java - Vererbung. Personen. Leibniz Universität IT Services Anja Aue

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

C++ - Objektorientierte Programmierung Konstante und statische Elemente

C++ - Objektorientierte Programmierung Klassen und Objekte

Implementieren von Klassen

Repetitorium Informatik (Java)

C++ - Objektorientierte Programmierung Vererbung

C++ - Objektorientierte Programmierung Polymorphie

Methoden und Wrapperklassen

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Java - Überladen von Methoden und Konstruktoren

7. Übung Informatik II - Objektorientierte Programmierung

Tag 7 Repetitorium Informatik (Java)

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

Programmiertechnik Klassenvariablen & Instantiierung

Grundelemente objektorientierter Sprachen (1)

Umsetzung einer Klassenkarte in einer Programmiersprache

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Programmieren in Java

7. Objektorientierung. Informatik II für Verkehrsingenieure

Einführung in die Programmierung für NF MI. Übung 07

Einstieg in die Informatik mit Java

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Grundelemente objektorientierter Sprachen (1)

Prof. W. Henrich Seite 1

Einstieg in die Informatik mit Java

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Statische und Nichtstatische Methoden Properties/ Eigenschaften

Objektorientierung. Marc Satkowski 20. November C# Kurs

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Javakurs für Anfänger

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Klassenvariablen, Klassenmethoden

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue

JAVA - Methoden

Vorkurs C++ Programmierung

Javakurs für Anfänger

Prozeduren vs. Funktionen

Programmieren I + II Regeln der Code-Formatierung

Programmieren in Java

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Programmieren I + II Regeln der Code-Formatierung

1 Klassen und Objekte

Propädeutikum Programmierung in der Bioinformatik

Fragen zur OOP in Java

Klassen als Datenstrukturen

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

Intuitive Einführung. Informatik B Objektorientierte Programmierung in Java. Vorlesung 01: Objektorientierte Programmierung (Teil 1)

Geschachtelte Klassen

Philipp Güttler Objektorientierung und komplexe Datentypen

Begriffe 1 (Wiederholung)

JAVA - Methoden - Rekursion

Objektorientierte Programmierung Studiengang Medieninformatik

Einstieg in die Informatik mit Java

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Java Einführung Methoden. Kapitel 6

Javakurs 2013 Objektorientierung

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

2. Unterprogramme und Methoden

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Programmierung und Angewandte Mathematik

Objektorientierung (OO)

Algorithmen und Datenstrukturen

Tag 8 Repetitorium Informatik (Java)

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Objektorientierte Programmierung mit Python Objekt und Klassen

Theorie zu Übung 8 Implementierung in Java

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Programmieren in C/C++ und MATLAB

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Transkript:

Java - Klassen und Objekte Der Würfel hat 12 Kanten. Der Würfel ist grün eingefärbt. Die Kanten sind in schwarz gezeichnet. Der Würfel kann gedreht werden. Die Kantenfarbe und die Seitenfarbe kann verändert werden. Die Kantenlänge kann verändert werden Leibniz Universität IT Services Anja Aue

Objekt Beschreibung: Kantenlänge von 5,5 cm. Farbe grün. Methode: Drehen. Methode: Neue Farbe. Java - Einführung 06.05.15 Seite 2

Objekt Substantive in einem Text. Ein Ding (Exemplar, Instanz) aus der realen Welt. Beschreibung durch Attribute (Eigenschaften). Veränderung der Attribute durch Aktionen wie Drehen, Färben etc. Java - Einführung 06.05.15 Seite 3

Klasse Ein Würfel hat eine Kantenlänge von x und eine Farbe. Jeder Würfel kann gedreht werden. Jeder Würfel kann eingefärbt werden. Java - Einführung 06.05.15 Seite 4

Objektorientierte Programmierung Abstraktion von Gegenstände der realen Welt mit Hilfe von Klassen Methoden und Attribute werden gekapselt. Die Attribute können nur mit Hilfe der Methoden verändert werden. Die Attribute können nicht von außen direkt verändert werden. Eltern können von Kindern erben. Ein Rechteck erbt Eigenschaften von einem Würfel. Java - Einführung 06.05.15 Seite 5

Klasse und Objekt Klasse Östl. Länge Nördl. Länge Zeitkorrektur gegen 10 östl. Länge Ort Objekt 9,7 52.4 +1 Minute Hannover Ausgabe der Information Ändert Informationen Java - Einführung 06.05.15 Seite 6

Beispiel Klasse Postalische Adresse Straße Hausnummer Postleitzahl Ort Wohnt an der Adresse Zieht um Person Anrede Vorname Nachname ändert Java - Einführung 06.05.15 Seite 7

Beispiel Objekt Postalische Adresse Schloßwender Str. 5 30159 Hannover Wohnt Schloßwender Str 5 ; 30159 Hannover Zieht um in den Welfengarten 6, 30167 Hannover Person Herr Tom Meier Ändert den Namen in Meier-Müller Java - Einführung 06.05.15 Seite 8

Java-Projekt in NetBeans anlegen File New Project. Java - Einführung 06.05.15 Seite 9

1. Schritt: Auswahl einer Projektkategorie Categories Java. Projects Java Application. Das Grundgerüst für eine Java-Anwendung wird automatisiert erstellt. Java - Einführung 06.05.15 Seite 10

2. Schritt: Name und Speicherort des Projekts Java - Einführung 06.05.15 Seite 11

Datei Klasse dem Projekt hinzufügen File New File. Categories Java. File Types Java Class. Java - Einführung 06.05.15 Seite 12

Festlegung des Klassennamens Eingabe eines Class Name. Der Klassenname ist gleichzeitig der Dateiname. Klassennamen beginnen immer mit einem Großbuchstaben. Java - Einführung 06.05.15 Seite 13

Klasse Kreis in Java public class Kreis { double radius; double umfang; double flaeche; String farbe; Attribute / Eigenschaften public Kreis(){ radius = 0; farbe = "blau"; } Konstruktor public void schreiberadius(double radius) { this.radius = radius; flaeche = Math.PI * Math.pow(radius, 2); this.umfang = 2 * radius * Math.PI; } Methoden Java - Einführung 06.05.15 Seite 14

Objektvariable public static void main(string[] args) { Kreis kreisblau; } Klasse variable. Eine Objektvariable von einer bestimmten Klasse wird deklariert. Die Klasse entspricht einem Namen in einem Klassenkopf. Der Name ist in dem Paket eindeutig. Java - Einführung 06.05.15 Seite 15

Verweis auf ein Objekt public static void main(string[] args) { Kreis kreisblau; kreisblau = new Kreis(); } new Klasse(arg01, argn). Mit Hilfe des Schlüsselwortes new wird eine Instanz von einer Klasse erzeugt. Es wird ein konkretes Objekt erzeugt. Es wird ein Konstruktor der Klasse aufgerufen. Der Speicherort des Objekts wird in der Objektvariablen gespeichert. Die Variable verweist auf eine bestimmte Adresse. Java - Einführung 06.05.15 Seite 16

Instanzierung Klasse Kreis Radius Farbe Setzte Radius Setze Farbe Lese Informationen Objekt Blau 5 Blau Objekt Rot 1 Rot Java - Einführung 06.05.15 Seite 17

Objekte (Instanzen) einer Klasse Beschreiben ein konkretes Ding. Jedes Ding einer bestimmten Gruppe (Klasse) wird auf eine bestimmte Art mit Hilfe von Konstruktoren erzeugt. Jedes Ding unterscheidet sich von allen anderen Dingen in einer Gruppe durch mindestens einen Attributwert. Jedes Ding einer Klasse hat die gleichen Methoden, um die Attribute zu verändern. Java - Einführung 06.05.15 Seite 18

Grundgerüst einer Klasse public class Kreis { } Jede Klasse hat einen Klassenkopf zugriffsmodifikator class name. In dem Klassenrumpf werden Attribute, Konstruktoren und Methoden definiert. Der Klassenrumpf wird durch die geschweiften Klammern begrenzt. Java - Einführung 06.05.15 Seite 19

Zugriffsmodifikatoren public. Alle anderen Klassen und Pakete können auf die Klasse zugreifen. Die Klasse kann Eigenschaften und Methoden vererben. Pro Datei wird eine öffentliche Klasse definiert. private. Auf die Klasse kann nicht von außen zugegriffen werden. final. Die Klasse kann keine Eigenschaften und Methoden an andere Klassen vererben. Java - Einführung 06.05.15 Seite 20

Klassenname Beginn mit einem Großbuchstaben. Zum Beispiel Person. Nutzung der Kamel-Notation. Zum Beispiel PrivatKunde. Jedes Wort beginnt mit einem Großbuchstaben. Der Name spiegelt die Bezeichnung eines Dinges in der realen Welt wieder. Der Name ist eindeutig innerhalb eines Packages. Java - Einführung 06.05.15 Seite 21

Attribute in Java public class Kreis { double radius; String farbe; public class Kreis { private double radius; private String farbe; Java - Einführung 06.05.15 Seite 22

Attribute (Instanzvariablen, Felder) Typ variable. Beschreibung einer Objektgruppe. Datenstruktur eines Objektes. Variablen in einer Klasse. Der Wert eines Objektes unterscheidet sich mindestens in einem Attributwert von allen anderen Objekten einer Gruppe Java - Einführung 06.05.15 Seite 23

Zugriffsmodifikatoren für Instanzvariablen private String farbe; public String farbe; String farbe; public. Standardmäßig sind alle Variablen öffentlich. Die Variable kann von der dazugehörigen Klasse und allen anderen Klassen innerhalb des Packages verändert werden. private. Die Variable kann nur innerhalb der dazugehörigen Klassen verändert werden. Die Variable ist vor Veränderungen von außen geschützt. Java - Einführung 06.05.15 Seite 24

Hinweis zu Namen von Instanzvariablen Es sollten nur die Buchstaben A... Z und a.. z genutzt werden. Alle Ziffern von 0 bis 9 können genutzt werden. Aber nicht am Anfang eines benutzerdefinierten Namens. Der Unterstrich kann mehrere Wörter in einem Namen verbinden. Schlüsselwörter werden als benutzerdefinierte Namen nicht genutzt. (siehe https://docs.oracle.com/javase/tutorial/ java/nutsandbolts/_keywords.html). Kamel-Notation (zum Beispiel kreisradius). Das erste Wort beginnt mit einem Kleinbuchstaben. Alle nachfolgenden Wörter beginnen mit einem Großbuchstaben. Java - Einführung 06.05.15 Seite 25

Prinzip Datenkapselung Instanzvariablen (Attribute) sollten immer als private deklariert werden. Attributwerte sind in einer Klasse gekapselt. Sie können nur durch die entsprechenden Methoden der Klasse verändert werden. Attributwerte sind vor Veränderungen von außen geschützt. Java - Einführung 06.05.15 Seite 26

Methoden in Java public class Kreis { public void schreiberadius(double radius) { this.radius = radius; } public String leseinformation() { String ausgabe; ausgabe = "Radius: " + radius; ausgabe = ausgabe + "\nfarbe: " + farbe; return ausgabe; } Java - Einführung 06.05.15 Seite 27

Methoden Abfolge von Anweisungen, die der Computer versteht. Zusammenfassung von Aktionen. Schnittstellen zum Benutzer. Setzen von nicht-öffentlichen Instanzvariablen. Java - Einführung 06.05.15 Seite 28

Aufbau von Methoden public void schreibefarbe(string farbe) { this.farbe = farbe; } Methoden haben einen Methodenkopf Rückgabewert name(param01, paramn). Der Methodenrumpf fasst die verschiedenen Anweisungen zusammen. Der Methodenrumpf beginnt und endet mit den geschweiften Klammern. Java - Einführung 06.05.15 Seite 29

Methodennamen Beginn mit einem Kleinbuchstaben. Zusammengesetzte Namen: Das erste Wort beginnt mit einem Kleinbuchstaben. Alle anderen Wörter beginnen mit einem Großbuchstaben. Der Name spiegelt die Aktion wieder. Häufig wird ein Verb für einen Methodennamen genutzt. Der Name ist eindeutig in der Klasse. Java - Einführung 06.05.15 Seite 30

Weitere Hinweise Methoden, die Werte für Instanzvariablen setzen, beginnen häufig mit setze oder set. Methoden, die Werte für Instanzvariablen lesen, beginnen häufig mit liefere oder get. Methoden, die zwei Werte vergleichen beginnen häufig mit is. Java - Einführung 06.05.15 Seite 31

Parameterliste (param01, paramn). Beginn und Ende mit runden Klammern. Die Parameter in der Liste werden durch Kommata getrennt. Die Parameterliste kann leer sein. In den Klammern werden keine Parameter aufgelistet. Java - Einführung 06.05.15 Seite 32

Parameter Definition eines Parameters: Typ variable. Die Parameter im Aufruf der Methode entsprechen der Anzahl der zu übergebenen Parameter in der Parameterliste im Kopf. Die Typen der Parameter im Aufruf und im Methodenkopf sollten gleich sein. Java - Einführung 06.05.15 Seite 33

Zugriffsmodifikator Eine Methode ist meist public (öffentlich) sein. Die Methode kann von außen aufgerufen werden. Die Methode stellt eine Schnittstelle nach außen dar. Eine private Methode kann nur innerhalb der Klasse aufgerufen werden. Die Methode ist nicht nach außen sichtbar. Java - Einführung 06.05.15 Seite 34

Aufruf der Methode Kreis kreisrot String fuellfarbe = "Rot"; kreisrot.schreibefarbe("rot"); kreisrot.schreibefarbe(fuellfarbe); Instanz.Methode(arg01, arg02, argn). Methoden werden von Objekten ihrer Klasse aufgerufen. Objekt und Methode werden mit dem Punkt-Operator verbunden. Der Methodenname muss immer mit runden Klammern angegeben werden. In den runden Klammern werden die Parameter entsprechend des Methodenkopfes übergeben. Java - Einführung 06.05.15 Seite 35

Übergabe der Parameter public void schreibefarbe(string farbe) kreisrot.schreibefarbe("rot"); Das erste Argument im Aufruf initialisiert den ersten Parameter. Das zweite Argument übergibt einen Wert an den zweiten Parameter und so weiter. Argument und Parameter sollten den gleichen Datentyp haben. Java - Einführung 06.05.15 Seite 36

Wertparameter ( Call by value ) public void schreibefarbe(string farbe) kreisrot.schreibefarbe("rot"); Beim Aufruf einer Methode wird der Wert einer Variablen übergeben. Werte von primitiven Datentypen werden kopiert. Die Quelle ist schreibgeschützt. Der Wert der Quelle wird nicht verändert. Referenzen in Objektvariablen werden kopiert. Methode und der Parameter im Aufruf verweisen aber auf das gleiche Objekt im Speicher! Java - Einführung 06.05.15 Seite 37

Variablen in Methoden public double berechneflaeche(double radius) { double flaeche; if (radius!= this.radius) { this.radius = radius; } } flaeche = Math.PI * Math.pow(this.radius, 2); return flaeche; Java - Einführung 06.05.15 Seite 38

Instanzvariablen in Methoden this.radius radius Alle Instanzvariablen können in allen Methoden der Klasse genutzt und verändert werden. Instanzvariablen sind lokal in einer Klasse gekapselt. this.instanzvariable. Das Schlüsselwort this ist ein Platzhalter für das Objekt, welches die Methode aufgerufen hat. Es wird die Instanzvariable des Aufrufers genutzt. Objektvariable und der Platzhalter werden mit einem Punkt verbunden. Java - Einführung 06.05.15 Seite 39

Deklaration von Variablen in Methoden public double berechneflaeche(double radius) { double flaeche; flaeche = Math.PI * Math.pow(this.radius, 2); Datentyp variable. Der Datentyp gibt an, welche Art von Werten gespeichert werden soll. Die, in einer Methode deklarierte Variable, kann nur in dieser Methode genutzt werden. In Methoden deklarierte Variablen sind lokal. Java - Einführung 06.05.15 Seite 40

Existenz von Variablen in Methoden public double berechneflaeche(double radius) { double flaeche; this.radius = radius; flaeche = Math.PI * Math.pow(this.radius, 2); Eine Instanzvariable ist in der Klasse existent, in der sie deklariert ist. Eine lokale Variable ist nur in dem Block existent, in dem sie definiert wurde. Ein Block wird durch geschweifte Klammern gekennzeichnet. Ein Parameter ist nur in der Methode sichtbar, in deren Parameterliste dieser definiert ist. Java - Einführung 06.05.15 Seite 41

Sichtbarkeit von Variablen in Methoden public double berechneflaeche(double radius) { double flaeche; this.radius = radius; flaeche = Math.PI * Math.pow(this.radius, 2); Eine lokale Variable ist nur in dem Block sichtbar, in dem sie definiert wurde. Ein Parameter einer Methode entspricht einer lokalen Variablen. Eine Instanzvariable kann von einer lokalen Variablen gleichen Namens überdeckt werden. NetBeans zeigt eine Warnung an. Bei einer Überdeckung muss die Instanzvariable in Verbindung mit this genutzt werden! Java - Einführung 06.05.15 Seite 42

Prozedur public void schreiberadius(double radius) void schreiberadius(double radius) Die Methode gibt keinen Wert an den Aufrufer zurück, Das Schlüsselwort void kennzeichnet Methoden, die keinen Wert an den Aufrufer zurückgeben. Java - Einführung 06.05.15 Seite 43

Funktion public String leseinformation() { String ausgabe; ausgabe = "Radius: " + radius; ausgabe = ausgabe + "\nfarbe: " + farbe; return ausgabe; } Die Methode gibt einen Wert von einem bestimmten Datentyp an den Aufrufer zurück, In diesem Beispiel wird ein String-Wert zurückgegeben. Java - Einführung 06.05.15 Seite 44

Datentyp des Rückgabewertes public String leseinformation() Eine Methode kann jeden primitiven Datentyp oder Objekttyp zurück geben. Eine Methode gibt immer eine Datenstruktur / einen Wert zurück. Java - Einführung 06.05.15 Seite 45

Rückgabe des Wertes public String leseinformation() { return ausgabe; } Mit Hilfe von return wird ein Wert an den Aufrufer zurückgegeben. Die Methode wird beendet. Der Rückgabewert sollte den gleichen Typ, wie im Methodenkopf angegeben, besitzen. Java - Einführung 06.05.15 Seite 46

Aufruf der Methode String ausgabe; ausgabe = kreisrot.leseinformation(); Der Rückgabewert einer Methode kann einer Variablen zugewiesen werden. Die Variable ist vom gleichen Typ wie die Methode. Java - Einführung 06.05.15 Seite 47

Rückgabewert in switch-anweisungen public String gebergbfarbe() { } switch(this.farbe) { case "blau": return "0,0,255"; case "rot": return "255,0,0"; default: return "unbekannte Farbe"; } Java - Einführung 06.05.15 Seite 48

Aufruf von Instanzmethoden public String leseinformation() { String ausgabe; ausgabe = "Radius: " + radius; ausgabe = ausgabe + "\nfarbe: " + this.farbe; ausgabe = ausgabe + "\nfläche: " + this.berechneflaeche(radius); return ausgabe; } Methoden in der gleichen Klasse werden mit Hilfe des Schlüsselwortes this aufgerufen. Java - Einführung 06.05.15 Seite 49

Konstrukturen Methoden zur Erzeugung von Instanzen. Übergabe von Startwerte für die Attribute. Der Name von Konstruktoren ist immer gleich der Klasse. Automatischer Aufruf durch das Schlüsselwort new(). Java - Einführung 06.05.15 Seite 50

Parameterloser Konstruktor public Kreis() { radius = 0; farbe = "blau"; } Die Parameterliste ist leer. Es werden Standardwerte für die Instanzvariablen gesetzt. Java - Einführung 06.05.15 Seite 51

Standardkonstruktor Für jede Klasse wird automatisiert ein parameterloser Konstruktor angelegt. Der Standard-Konstruktor setzt für Dezimal- und Ganzzahlen einen Wert von 0, für boolsche Variablen false, Zeichenvariablen auf '\u0000' und Referenzen auf Null. Java - Einführung 06.05.15 Seite 52

Aufruf des parameterlosen Konstruktor Kreis kreisblau; kreisblau = new Kreis(); Mit Hilfe des Schlüsselwortes new Objekt() wird der parameterlose Konstruktor aufgerufen. Die Attribute des Objektes werden mit den Standardwerten belegt. Java - Einführung 06.05.15 Seite 53

Übergabe von Parametern public Kreis(double dblradius) { radius = dblradius; farbe = "blau"; } In der Parameterliste werden die verschiedenen Parameter aufgelistet. Die Werte in den Parametern werden jeweils einer Instanzvariablen im Konstruktor zugewiesen. Java - Einführung 06.05.15 Seite 54

Aufruf des Konstruktor Kreis kreisblau; kreisblau = new Kreis(5); Mit Hilfe des Schlüsselwortes new Objekt(arg01,, argn) wird der passende Konstruktor aufgerufen. Die Attribute des Objektes werden mit den übergebenen Werten belegt. In Abhängigkeit der Anzahl der Argumente und deren Datentyp wird automatisiert der passende Konstruktor aufgerufen. In einer Klasse kann ein parameterloser und andere Konstruktoren vorkommen. Java - Einführung 06.05.15 Seite 55

Konstante Instanzvariablen private final double pi = 3.14159; private final String linienfarbe; Mit Hilfe des Schlüsselwortes final werden Variablen in einer Klasse gekennzeichnet, die nicht durch eine Methode verändert werden dürfen. Jedes Objekt hat den gleichen Wert für eine konstante Instanzvariable. Konstante Instanzvariablen können gleichzeitig deklariert und initialisiert werden. Andre Möglichkeit: Initialisierung im Konstruktor. Java - Einführung 06.05.15 Seite 56

Initialisierung von konstanten Instanzvariablen public Kreis(double dblradius, String farbe) { radius = dblradius; linienfarbe = farbe; } Die konstante Instanzvariable muss beim Aufruf des Konstruktors initialisiert werden. Java - Einführung 06.05.15 Seite 57

Statische Attribute static int anzahlkreise; Kreis.anzahlKreise++; Mit Hilfe des Schlüsselwortes static werden Klassenvariablen definiert. Klassenvariablen beschreiben Attribute für die Klasse und sind für alle Instanzen der Klasse gleich. Statische Attribute werden über den Namen der Klasse angesprochen. Klassenvariablen werden häufig in Konstruktoren gesetzt. Java - Einführung 06.05.15 Seite 58

Statische Methoden static Kreis kreisneu() { final int MAX_KREIS = 2; } if (Kreis.anzahlKreise < MAX_KREIS){ return new Kreis(); } else{ return null; } Java - Einführung 06.05.15 Seite 59

aufrufen Kreis kreisgruen; kreisgruen = Kreis.kreisNeu(); Klasse.Methode(). Die Methode kann ohne Erzeugung einer Instanz aufgerufen werden. In diesem Beispiel gibt die Klassenmethode ein Objekt Kreis zurück. Java - Einführung 06.05.15 Seite 60

Dokumentationskommentare Beschreibung von Klassen, Methoden, Schnittstellen, Aufzählungen etc. Dokumentation direkt im Programm. JavaDoc erstellt aus diesen Kommentaren Beschreibungsdateien (meist im Format HTML). Java - Einführung 06.05.15 Seite 61

Aufbau /** * * @author Anja Aue * Arbeiten mit einem Kreis */ Beginn: Schrägstrich und zwei Sternchen Ende: Sternchen und Schrägstrich Zeilen zwischen Beginn und Ende: Sternchen Mit Hilfe des Add-Zeichens werden vordefinierte Tags gekennzeichnet. Java - Einführung 06.05.15 Seite 62

Tags in Dokumentationskommentaren @autor name. Der Name des Software-Entwicklers. @param variable. Die Parameter, die an eine Methode übergeben werden. @return variable. Welcher Wert wird zurückgegeben? @version version. Version der Klasse. @since jdk-version. Seit wann ist die Funktionalität implementiert? Java - Einführung 06.05.15 Seite 63

Beispiel: Methode ohne Rückgabewert /** * Radius eines Kreises setzen * @param radius * @return null */ Java - Einführung 06.05.15 Seite 64

Beispiel: Methode mit Rückgabewert /** * Fläche eines Kreises berechnen * @param radius * @return flaeche */ Java - Einführung 06.05.15 Seite 65