Klassenbasierte Programmierung

Allgemein:

In einer Klasse werden alle Eigenschaften und das Verhalten von Objekten allgemein beschrieben. Beispielsweise könnte man in einer Klasse die Eigenschaften eines Smartphones (z.B. Hersteller & Displaygröße) beschreiben. Zusätzlich kann man in einer Klasse definieren, das man die Eigenschaften dieser Smartphones einlesen und ändern kann.

Aus dieser Klasse wiederum können Objekte (Exemplare und Instanzen) der Klasse erzeugt werden.

So hätte Smartphone1 und Smartphone2 folgende Werte:

 

 

 

Attribute:

Die Eigenschaften einer Klasse, hier am Beispiel die Eigenschaften der Klasse Smartphone, werden in Variablen beschrieben. Diese Variablen nennt man auch Attribute. Da Sie außerdem den Zustand eines Exemplars beschreiben spricht man auch von Instanz oder Exemplarattributen.

Der Unterschied zu lokalen Variablen ist, das sie nicht in Methoden vereinbart worden sind und somit nicht nur lokal in der Methode, sondern in allen Methoden einer Klasse aufrufbar sind.

Initialisierung von Attributen:

Attribute können wie auch lokale Variablen bei der Vereinbarung expliziert initialisiert werden. Das bedeutet, dass sie bei der Vereinbarung einen Wert vom Programmierer zugewiesen bekommen.

Beispiel in Java: int jahresZahl = 2017;

 

Der Unterschied zu lokalen Variablen liegt darin, das es eine implizite Initialisierung der Attribute gibt, wenn keine explizite Initialisierung vorgenommen wird. So wird das Attribut int jahresZahl direkt mit dem Wert 0 vom Compiler initialisiert.

Konstruktor:

Um Exemplare einer Klasse zu erzeugen, benötigt man einen Konstruktor. Dieser Konstruktor hat den Namen der Klasse gefolgt von einem runden Klammerpaar (….) in dem Eingabeparameter in Form des Typs und des Bezeichners spezifiziert werden. In einem geschweiften Klammerpaar {…} werden den Exemplarattributen die Eingabeparameter zugewiesen.

Beispiel:

Public class Smartphone
{
  String hersteller;
  String modell;

public Smartphone(String hrst, String mod)
{
  this.hersteller = hrst;
  this.modell = mod;
}
}

Exemplare:

Was sind Exemplare….

Durch den Aufruf des Konstruktors kann ein Exemplar erzeugt werden.

Beispiel:  new Smartphone (Apple, iPhone 7);

Durch diesen Aufruf wird ein Exemplar der Klasse Smartphone erzeugt, welches die Werte „Apple“ und „iPhone 7“ besitzt. Im Grunde werden für das Exemplar zwei Speicherplätze im Speicher angelegt (hersteller und modell) die Werte vom Typ String aufnehmen können. Da sie nicht explizit Initialisiert wurden, werde sie implizit initialisiert.

Referenzvariable:

Eine Referenzvariable enthält im Gegensatz zu einer herkömmlichen Variablen einen Verweis auf ein Exemplar.

Beispiel:

Smartphone mobile1 = new Smartphone (Apple, iPhone 7);

 

Hier wurde eine Referenzvariable vom Referenztyp „Smartphone“ mit dem Bezeichner „mobile1“ vereinbart.

Geheimnisprinzip:

Private vs. Public:

 

Get-Methode:

 

Set-Methode: