Java 2tag
Java 2tag
Java 2tag
Modellierung Implementierung
(im Kopf, auf Papier, UML)
(Java)
Modellierung (Klassen von Objekten)
Klassen
Haben Attribute mit festgelegten Datentypen (etwa wie ein
Databankschema)
Sind selbst Datentypen (für Variablen oder Methoden-
Parameter)
Bieten Methoden an, die Berechnungen auf Instanzen
durchführen.
Objekte
Sind Instanzen einer Klasse und haben individuelle Werte
für jedes Attribut (Analogie: Datensatz)
Können als Werte im Programm verwendet werden.
JAVA: Verwendung von Objekten
Implementierung eines
Interfaces!
Namenskonventionen:
setter und getter
Klassenhierarchie
F4
Besonderheiten: Vererbung in Java
Beispiel: Herr Müller ist nicht am Zahn der Zeit und kennt keine
Autos mit Navigationssystem. Er bekommt in einer Autovermietung
einen neuen Audi mit Navigation. Herr Müller kennt dieses spezielle
Modell nicht und weiss nicht mit den neuen Funktionen umzugehen.
Da er jedoch das allgemeine Konzept Auto kennt, weiss er dieses
dennoch zu gebrauchen.
Übertragung auf die Programmierung:
Objekte können auch Variablen von Elternklassen/
Interfaces des Objektes zugewiesen werden
Auto auto = new Audi(); auto.gasgeben();
Audi a4 = new Auto();
Aquivalentes gilt für Methodenparameter:
waschstrasse.waschen(new Audi());
audihändler.reparieren(new Auto());
Typwandlung
(cast)
Richtlinien:
Hilfsfunktionen „privat“, Interfacefunktionen „öffentlich“
„Verstecke“ alles, solange es geht!
Beispiel Nur innerhalb von „Notebook“ sichtbar.
Aufzählungstyp
Java - Klassenbibliothek
Paket Funktion
java.io: Ein-/Ausgabe (Streams, Dateien, ...)
java.lang: Basis-Klassen (System, Object, Runtime, String, ...)
java.lang.reflect: Java Reflection API (Introspektion, ...)
java.util Allerlei Hilfsklassen (Random, Listen, Maps…)
java.applet: Alles für Java-Applets
java.awt: Graphische Oberflächen mit AWT
javax.swing Graphische Oberflächen mit Swing
….
java.util.List
allgemeines Interface für den standardisierten Zugriff
auf verschiedene Implementierungen
LinkedList (Leichtes Hinzufügen, Löschen)
Methoden
boolean add(Object obj);
Object remove(int pos);
void contains(Object obj);
Object get(int pos);
…
java.util.Iterator
Jeder Listentyp liefert bei Bedarf einen Iterator
Einschränkung des Zugriffs
Originalliste nicht veränderbar (Objekte in der Liste
schon!)
Methoden
boolean hasNext();
Object next();
…
java.util.String
Lösung: Exceptions
Beispiel 1 - Zahlenformatierung
Throws Deklaration
Zeigt an, dass dieser Fehler auftreten kann
Bewirkt, dass wir Fehler nicht mit try-catch fangen müssen
Effekte
Verantwortung für Fehlerbehandlung wird abgegeben!
Beispiel 3 – Eigene Exceptions erzeugen!
Schritte
Eigene Fehlerklasse von der Klasse Exception ableiten.
Methodensignatur um throws erweitern
Beim Fehler diesen mit throw werfen.
Dokumentieren in JAVA - Überblick
Folgender Inhalt
Java-Bezeichnerkonventionen
Schlüsselwörter:
@version <text>
@author <text>
@param <name> <beschreibung>
@return <beschreibung>
@throws <klassenname> <beschreibung>
Verschiedene Dokumenationsformen
Javadoc, Gute Benamung, Quellcode-Kommentare
TODO‘s als temporäre Hilfestellung (Namen des Entwicklers, Jira-
Referenz, zum Release alle Todos entfernen)