Website-Suche

Objektorientierter Ansatz der Java-Programmierung und -Kapselung – Teil 5


Seit Beginn dieser Serie (und sogar schon davor) wussten Sie, dass Java eine objektorientierte Programmiersprache ist. Die objektorientierte Programmiersprache basiert auf dem Konzept von „Objekten“, die Daten als Attribute in Methoden enthalten.

Jedes Objekt in Java verfügt über einen Zustand und ein Verhalten, die durch Instanzvariablen und Methoden dargestellt werden. Jede Instanz einer Klasse kann einen eindeutigen Wert für ihre Instanzvariable haben.

Zum Beispiel,

Maschine A kann mit Debian betrieben werden und über 8 GB RAM verfügen, während Maschine B Gentoo mit 4 GB RAM installiert haben kann. Es ist auch offensichtlich, dass die Verwaltung von Maschinen, auf denen Gentoo installiert ist, mehr Wissen erfordert – ein Verhalten, das sich auf ihren Zustand auswirkt. Hier verwendet die Methode Instanzvariablenwerte.

Wenn die JVM eine Klasse analysiert, erstellt sie ein Objekt dieser Art. Wenn Sie eine Klasse schreiben, verhalten Sie sich in Wirklichkeit wie ein Compiler, der Ihrer Klasse sagt, was das Objekt wissen und wie es sich verhalten soll. Jedes Objekt eines bestimmten Typs kann für dieselbe Instanzvariable einen unterschiedlichen Wert haben.

Jede Instanz einer Klasse hat die gleiche Methode, aber es ist möglich, dass sie sich alle unterschiedlich verhalten.

Die OS-Klasse verfügt über drei Instanzvariablen, nämlich OS-Name, OS-Typ und OS-Kategorie.

OS
OS_Name
OS_Type
OS_Category
Boot()
Reboot()
scan()

Die Methode Boot() startet ein Betriebssystem, das durch den Betriebssystemnamen für diese Instanz dargestellt wird. Wenn Sie also auf einer Instanz boot() ausführen, booten Sie Debian, während Sie auf einer anderen Instanz Gentoo booten. Der Methodencode bleibt in beiden Fällen derselbe.

Void Boot() 
	{
	bootloader.bootos(OS_Name);
	}

Sie wissen bereits, dass die Ausführung des Programms unmittelbar nach der Methode main() beginnt. Sie können Werte an Ihre Methode übergeben.

Beispielsweise möchten Sie Ihrem Betriebssystem mitteilen, welche Dienste beim Booten gestartet werden sollen:

You are already aware that the program starts to execute just after the main() method. You can pass values into you method. For example you would like to tell you OS what services to start at boot as:
OS.services(apache2);

Was Sie an Methoden übergeben, nennt man Argumente. Sie können eine Variable mit einem Typ und einem Namen innerhalb einer Methode verwenden. Es ist wichtig, Werte mit Parametern zu übergeben, wenn eine Methode einen Parameter akzeptiert.

OS deb = debian();
deb.reboot(600);

Hier übergibt die Neustartmethode auf dem Betriebssystem den Wert 600 (Maschine nach 600 Sekunden neu starten) als Argument an die Methode. Bisher haben wir gesehen, dass eine Methode immer „void“ zurückgibt, was bedeutet, dass sie Ihnen nichts zurückgibt, einfach so:

void main()
	{
	…
	…
	}

Sie können Ihren Compiler jedoch bitten, genau das zu bekommen, was Sie wünschen, und Ihr Compiler wird Ihnen keine falschen Typen zurückgeben. Sie können einfach Folgendes tun:

int Integer()
	{
	…
	…
	return 70;
	}

Sie können mehr als einen Wert an eine Methode senden. Sie können dies tun, indem Sie zwei Parametermethoden aufrufen und an Argumente senden. Beachten Sie, dass Variablentyp und Parametertyp immer übereinstimmen müssen.

void numbers(int a, int b)
	{
	int c = a + b;
	System.out.print(“sum is” +c);
	}
Instanzvariablen deklarieren und initialisieren

1. Wenn Sie den zu initialisierenden Wert nicht kennen.

int a;
float b;
string c;

2. Wenn der zu initialisierende Wert bekannt ist.

int a = 12;
float b = 11.23;
string c = tecmint;

Hinweis: Instanzvariablen werden oft mit lokalen Variablen verwechselt, es gibt jedoch eine sehr dünne Unterscheidungslinie zwischen ihnen.

3. Instanzvariablen werden innerhalb einer Klasse deklariert, im Gegensatz zu lokalen Variablen, die innerhalb einer Methode deklariert werden.

4. Im Gegensatz zu Instanzvariablen müssen lokale Variablen initialisiert werden, bevor sie verwendet werden können. Der Compiler meldet einen Fehler, wenn Sie eine lokale Variable verwenden, bevor sie initialisiert wird.

Verkapselung

Sie haben vielleicht schon von Kapselung gehört. Es ist eine Funktion der meisten objektorientierten Programmiersprachen, die es ermöglicht, Daten und Funktionen in einer einzigen Komponente zu binden. Kapselung wird von der Klasse unterstützt und schützt Codes vor unbeabsichtigter Beschädigung, indem sie eine Mauer um Objekte herum erstellt und deren Eigenschaften und Methoden selektiv verbirgt.

Wir werden die Kapselung bei Bedarf im entsprechenden Tutorial ausführlicher erläutern. Im Moment reicht es für Sie zu wissen, was Kapselung ist? Was es macht? Und wie funktioniert das?

Das ist alles für den Moment. Bleiben Sie für den nächsten Teil dieser Java-Serie „Klasse und Objekte in Java und Erstellen Sie Ihr erstes Objekt in Java“ auf dem Laufenden, während ich daran arbeite. Wenn Ihnen die Serie und der Beitrag gefallen, teilen Sie uns dies im Feedback mit.