Klassenmethoden Flashcards

1
Q

Klassen und Objekte - revisited

A

° Klassen sind die Einheiten des statischen
° Objekte sind die Einheiten des laufenden Programms
° Wenn Klassen selbst vollständig im Laufzeitsystem verfügbar sind, verschiebt sich diese klare Unterteilung:
- Über den Zugriff auf eine Klasse kann zur Laufzeit das Verhalten ihrer Objekte verändert werden
- Klassen werden zu eigenständgen Objekten mit einem eigenen Zustandsraum

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Klassen in Java

A

° existieren auch selbst als Objekte zur Laufzeit
-> Klassenobjekt
-> kann einen Zustand haben (über Klassenvariablen) und Methoden anbieten (Klassenmethoden)
° Klassenvariablen und -methoden werden mit dem Modifikator static deklariert
° Klassenvariablen sollten privat deklariert werden

class Konto
{
   private static int exemplarzaehler = 0; // Klassenvariable
public Konto ()
   {
      exemplarzaehler++;
   }
   public static int anzahlErzugterExemplare() // Klassenmethode
   {
      return exemplarzaehler;
   }
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Klassenmethoden

A

° öffentliche Klassenmethoden bilden die Operationen eines Klassenobjektes
° Operationen eines Klassenobjektes sind für Klienten in der Punktnotation aufrufbar:
.();

class Kontoverwalter
{
   public void statusPruefen()
   {
      int anzahlKnoten = Konto.anzahlErzeugteExemplare();
      ...
   }
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Klassenoperationen als Dienstleistungen

A

° Statische Methoden beziehen sich nicht auf dem Zustand des gerufenen Klassenobjekts, sonderen ausschließlich auf die übergebenen Parameter
° Für das Abrufen dieser Dienstleistungen muss kein Exemplar erzeugt werden; das Klassenobjekt steht unmittelbar zur Verfügung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Die main-Methode

A

° Eine Klasse kann eine Klassenmethode mit einer ganz speziellen Signatur anbieten:
public static void main (String[] args)
° Diese Klassenoperation wird n der Laufzeitumgebung von Java gesondert behandelt (Schnittstelle zum Betriebssystem)
° Einstiegspunkt für Java-Programme: In dieser Methode werden üblicherweise die ersten Exemplare erzeugt, mit denen eine Java-Anwendung gestartet wird
° Interaktive Objekterzeugung ist eine Besonderheit von BlueJ
° Andere IDEs beiten einen Startknopf, mit dem eine main-Methode aufgerufen wird

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

System.out

A

° Ausgaben auf die Konsole mit der Anweisung:
System.out.println(“Hello World!”);
° Die Klasse java.lang.System verfügt über eine öffentliche Klassenkonstante out
° Diese Konstante ist vom Typ PrintStream und somit eine konstante Referenz auf ein Exemplar der Klasse java.io.Printstream
° Ein Printstream ermöglicht mit seinen Operationen (u.a. println) die Ausgabe von Zeichenströmen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Initialisierung von Klassenobjekten

A

° Jede Klasse in Java definiert nur genau ein Klassenobjekt
° Diesse Klassenobjekt wird automatisch erzeugt, sobald eine Klasse in die Virtual Machine geladen wird
° Keine aufrufbaren Konstruktoren für Klassenobjekte
° In einer Klassendefinition können aber Klassen-Initialisierer angegeben werden, die nach dem Laden der Klasse ausgeführt werden

class Konto
{
   static {
       exemplarzaehler = 42;
       ...
   }
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Klassenkonstanten

A

° gekennzeichnet durch den Modifikator final
° können mit dem Modifikator static deklariert werden
° werden öffentlich (public) deklariert

public static final int TAGE_PRO_WOCHE = 7;
public static final float PI = 3.141592654f;
public static final int ANZAHL_SPALTEN = 80;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Nicht alle Objekte sind Exemplare

A

° Alle Exemplare eienr Klasse sind Objekte
° Klasse ist ein Objek, in Java aber nicht das Exemplar einer weiteren Klasse

° Exemplare werden explizit mit new erzeugt, während Klassen automatisch geladen und initialisiert werden, sobald sie benutzt werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Klassenemthoden und -variablen in UML

A

° Klassenvariablen und -methoden werden in den Klassen-Diagrammen der UML unterstrichen, um sie von Exemplarvariablen und -methoden zu unterscheiden

Konto
_saldo : integer // Exemplarvariable
gesamtbestand : integer // Klassenvariable
anzahlErzeugterKontn() : integer // Klassenmethode
einzahlen (wert : integer) // Exemplarmethode

How well did you know this?
1
Not at all
2
3
4
5
Perfectly