Finished termin2
This commit is contained in:
@ -10,4 +10,51 @@ footer: Henri Burau
|
||||
|
||||
---
|
||||
|
||||
|
||||
# Grundlagen
|
||||
|
||||
Ermöglichen das Abfragen von Metainformationen zur Laufzeit. Dazu gehört der
|
||||
dynamische Typ eines Objekts, dessen Felder (private und öffentliche) und
|
||||
Methoden. Benutzt werden Reflections vor allem beim Datenaustausch in
|
||||
verteilten Systemen.
|
||||
|
||||
---
|
||||
|
||||
# Java Reflection API
|
||||
Die wichtigsten Klassen aus den Java Reflections sind:
|
||||
|
||||
* ``Class``
|
||||
* ``Field``
|
||||
* ``Constructor``
|
||||
* ``Method``
|
||||
* etc. (siehe [Reflection API](<!-- TODO -->))
|
||||
|
||||
---
|
||||
|
||||
# Anwendung
|
||||
|
||||
```java
|
||||
Dreieck dreieck = new Dreieck();
|
||||
Class<?> dreieckKklasse = dreieck.getClass();
|
||||
|
||||
System.out.println(dreieckKlasse.getSimpleName());
|
||||
// Konsole: Dreieck
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Benutzung
|
||||
|
||||
Reflections sollten nur genutzt werden wenn es gar nicht anders geht. Man kann
|
||||
sonst schnell die schönen Objektstrukturen zerstören die ein Software-Architekt
|
||||
entwickelt hat.
|
||||
|
||||
---
|
||||
|
||||
# Aufgaben
|
||||
|
||||
1) Schreibe eine statische Methode ``schreibKonstruktoren(Object object)``
|
||||
welche die Parameter aller Konstruktoren von ``object`` auf die Konsole
|
||||
schreibt (``System.out.println(...)``).
|
||||
|
||||
2) Schreibe eine statische Methode `schreibPrivateFelder(Object object)` welche
|
||||
die Namen und Typen aller **privaten** und **statischen** Felder von `object` auf die Konsole schreibt.
|
||||
|
||||
Reference in New Issue
Block a user