Zusammenfassung der Ressource
Java
- elementare/primitive Datentypen
- Vorzeichenbeahftet
- Ganzzahlen
- byte
- short
- int
- long
- Kommazahlen
- float
- double
- String
Anmerkungen:
- ein Spezialfall, aber üblicherweise gleich zu verwenden, wie eine Variable mit elementarem Datentyp
- Deklaration einer Variablen mit
elementarem Typ
- int myInteger;
- short myShort;
- float myFloat;
- double myDouble;
- char myCharacter;
- Zeichen
- char
- Wahrheitswerte
- boolean
- Referenz-/Objekttypen
Anmerkungen:
- beginnen mit einem Großbuchstaben
- Spezialfall BOXING
- um elementare Typen mit Funktionalität zu erweitern gibt es
Wrapper-Klassen, die diese Objekte 'einpacken'. Vorteil: man hat
plötzlich Zusatzfunktionen (Methoden) für die Typen zur Verfügung
- dieses Boxing ermöglicht die Verwendung von elementaren
Datentypen in generischen Datentypen z.B. ArrayList
- Java macht dieses Ein- und Auspacken zur rechten
Zeit automatisch... AUTOBOXING
- eingebaute Wrapperklassen für
die elementaren Typen
- sind jene Klassen die man selbst schreibt.
Klassen definieren einen neuen (Referenz-)typ.
- Constructor
- ein Konstruktor steuert die
Objekterzeugung bzw. leitet sie ein
- heißt gleich wie die Klasse und hat
eventuelle Parameter
- es kann mehrere Konstruktoren
geben, aber die Parameterliste muss
untershiedlich sien
- quasi eine spezielle Methode,die man nur mit
vorangestellten new-Operator aufrufen kann.
Retourniert ein neues Objekt dieses Typs
- Objekterzeugung = Instantiirung
- Objektorientierung
- Java ist eine Programmiersprache,die dieses
Objektorientierungskonzept unterstützt
- basiert auf dem Zusammenspiel
verschiedener Objekte
- Zusammenspiel wird durch
public-Methoden/Variablen möglich
- = Nutzung fremder Eigenschaften/Ressourcen
- = Methodenaufrufe auf fremden Objekten
- Objekte werden zufolge einer Klasssendefinition erstellt,
'nach dem Schema das mit der Klasse definiert wurde'
- Analogie zum Bauplan... Mit einem Haus-Plan (Klasse)
können mehrere gleiche Häuser (Objekt) gebaut werden
- Objekterstellung/ Instantiierung mit new-Operator
- Besipiel: Bruch myBruch = new Bruch (1,2)
Anmerkungen:
- damit wird das neu instantiierte (mit new) 'Bruch-Objekt' gleich in die Bruch-Variable myBruch gespeicher
- jedes Objekt hat alle ( Eigenschaften,
Verhalten) was die Klasse vorgibt
- static-Eigenschaften von Klassen
- static Methoden
- diese Methoden gehören zur Klasse. D.h. man ruft sie nicht auf
einem Objekt der Klasse auf, sondern direkt. D.h. man muss
nicht ein Objekt mit new erzeugen, um eine static Methode in
dieser Klasse auszuführen
- static-Methoden führen Schen aus, die nicht unbedingt zu
einem bestimmten Objekt gehören; die eher allgemein für alle
Objekte dieser Klasse von Bedeutung sind
- static-Methoden können nur static-Variablen verwenden,
bzw. die in ihnen deklarierten lokalen Variablen
- static-Variablen
- 'static-Variablen gehören zur Klasse' Jedes Objekt dieser Klasse
besitzt nur ein und dueselbe Variable, nicht jedes eine eigene.
- ändert eine Object eine Variable, so gilt das für jedes Objekt
- in weiterer Einsatz von static-Variablen ist z.B. ein Zähler für
instantiierte Objekte einer Klasse... bei jeder Objekterzeugung der
Klasse Fahrzeug wird ein static int fahrzeugCounter inkrementiert
(dies passiert idealerweise im Constructor der Klasse). Dadurch ist
zu jedem Zeitpunkt schnell ersichtlich, wieviele Fahrzeuge derzeit
im Programm "herumfahren".
- Javaprogramme sind hierarchisch strukturiert
- ganz oben das 'Project'
Anmerkungen:
- Packages
Anmerkungen:
- 'Classes' (Java Klassen)
Anmerkungen:
- Klassen sind die programmatische
Umsetzung/Abstraktion der
Problemstellung/der Umwelt
- Umsetzung der Realität nur so weit wie nötig
- diese beinhalten
- Variablen
- während der Ausführung von Methoden
- Methodenvariablen = lokale Variablen
- innerhalb von Methoden deklariert
- definieren Zustand der Klasse / im Objekt
- Klassenvariablen / Instanzvariablen
- außerhalb von Methoden deklariert
- nur sichtbar/benutzbar/ansprechbar innerhalb
des Blocks, in welchem sie deklariert werden
- Methoden
- definieren Verhalt en der Klasse
- public static void main(Strg[] args)
- Unified Modeling Language
UML
- verschiedene Diagramme
- Klassendiagramm (Struktur)
- Aktivitätsdiagramme
- Sequenzdiagramme
- ermitteln schnell, was das Programm tun
können soll und wie es aufgebaut ist
- zur Unterstützung der Findung des Programmkonzepts
- visuell; schnell
- aus dem UML-Diagramm lässt sich automatisch der
Code generieren