Learn programming with Java

Sie haben den Begriff Objekt wahrscheinlich schon einmal in einem Programmierkontext gehört. Aber was bedeutet das wirklich? Betrachten wir zunächst einige reale Objekte wie Stifte, Bücher, Smartphones, Computer usw.

Alle möglichen Objekte!
Alle möglichen Objekte!

Jedes Objekt gibt es in verschiedenen Formen und Formen, aber Sie können verschiedene Versionen desselben Objekts in eine Kategorie oder Gruppe einteilen. Deshalb können Sie in ein Möbelhaus gehen und verschiedene Gegenstände als „Stühle“ erkennen, auch wenn sie sehr unterschiedlich aussehen.

Sie erkennen alle diese verschiedenen Objekte als Teil derselben Gruppe oder desselben Typs. Sie bemerken Gemeinsamkeiten zwischen verschiedenen Objekten, sammeln die Informationen und erstellen eine mentale Repräsentation für eine bestimmte Objektkategorie.

Zum Beispiel gibt es verschiedene Arten von Büchern, aber sie alle neigen dazu, einen Titel, einen Autor, ein Cover, Seiten usw. zu haben. Mit anderen Worten, einzelne Bücher haben alle ähnliche Attribute, mit denen Sie sie in Ihrem Kopf als Teil der Kategorie „Buch“ klassifizieren können.“

Bücher in verschiedenen Größen, Farben und Längen
Bücher in verschiedenen Größen, Farben und Längen

Diese mentale Liste von Attributen, die wir gerade für ein Buch beschrieben haben, dient als eine Art Blaupause für dieses Objekt. In der Programmierung nennt man das Klasse. Wenn Sie eine Klasse erstellen, können Sie einen beliebigen benutzerdefinierten Namen erstellen, weshalb sie als benannter Typ bezeichnet werden. Wie Sie sehen werden, können Sie damit auch viele Details gruppieren, weshalb sie auch als komplexe Typen bezeichnet werden können. Andererseits haben die einfachen Typen, mit denen Sie bereits vertraut sind, wie int oder double, Namen, die von der Programmiersprache vordefiniert sind und nicht geändert werden können.

Wie kommen wir auf Klassennamen?

Ähnlich wie bei der Benennung von Variablen müssen Klassennamen beschreibend und buchstabiert sein (denken Sie daran, vermeiden Sie Abkürzungen!). Ein wesentlicher Unterschied besteht darin, dass der erste Buchstabe anstelle von Standard-camelCase auch Großbuchstaben wie MarvelousCreature und nicht marvelousCreature .

Klassen entwerfen

Um zu sehen, wie man eine Klasse entwirft, fahren wir mit dem Buchbeispiel fort. Unten, Wir haben eine Auswahl von Informationen identifiziert, die ein bestimmtes Buch beschreiben könnten:

  • Titel

  • Autor

  • Anzahl der Seiten

  • Herausgeber

Das sind Attribute eines jeden Buches im wirklichen Leben. Im Kontext von Klassen werden diese Attribute in Java als Felder bezeichnet. Die Felder einer Klasse sind einfach ein ausgefallener Name für etwas, mit dem Sie bereits vertraut sind: Variablen!

Jetzt hast du die Theorie, also lass uns das schriftlich festhalten!

Um eine Klasse in Java zu deklarieren, verwenden Sie ein Schlüsselwort class gefolgt von einem benutzerdefinierten Namen. Beenden Sie es danach mit geschweiften Klammern ({} ), die den gesamten Inhalt umfassen. Dies beinhaltet die vollständige Liste der Eigenschaften:

class Book {// functionality of the class}

Fügen wir nun die zuvor definierten Felder hinzu:

class Book { String title; String author; int numberOfPages; String publisher="OC";}

Beachten Sie, dass die ersten drei keine Werte haben, der letzte jedoch? Wenn Sie ein Verleger sind, der Ihre Bücher katalogisieren möchte, dann wissen Sie, dass der Verlegerwert immer derselbe sein wird, egal welches Buch Sie produzieren. Die Buchtitel, Autoren und Seitenzahlen ändern sich jedoch je nach Buch.

Wenn Sie jedoch zum ursprünglichen Beispiel eines Online-Buchladens zurückkehren, würde die Klasse eher so aussehen:

class Book { String title; String author; int numberOfPages; String publisher;}

Da Sie Bücher von vielen verschiedenen Verlagen haben, können Sie nicht für alle einen Standardwert eingeben. Definieren Sie hier das Feld und geben Sie später einen Wert ein!

Klassen verwenden

Sie haben einen brandneuen Typ – Book 📖 – aussortiert! Was kannst du damit machen? Schließlich sind Klassen abstrakter oder konzeptioneller. Klassenfelder sind wie eine Vorlage in einem Online-Buchladen: unabhängig davon, nach welchem Buch Sie suchen, werden dieselben Informationen angezeigt (Titel, Autor, Seitenzahl usw.).

Aber wenn Sie suchen, geben Sie nicht einfach „Buch“ ein, oder? Das ist nicht sinnvoll! Sie benötigen eine bestimmte Instanz eines Buches, z. B. Alice im Wunderland. Sie suchen nach einem tatsächlichen Objekt, das Sie durchblättern und lesen können. Das gleiche gilt für die Computerprogrammierung.

Um mit einer Klasse zu arbeiten, müssen Sie ein konkretes Objekt dieser Klasse erstellen. Mit anderen Worten, Sie benötigen ein bestimmtes Objekt, wie ein bestimmtes Buch (Alice im Wunderland). Dieses spezielle Buch wird als Instanz einer Klasse bezeichnet! Wie der Name schon sagt, wird der Prozess als Instanziieren oder Initialisieren eines Objekts bezeichnet. Dazu erstellen Sie eine Variable der Klasse.

In Java muss jedes Feld des erstellten Objekts einen Wert haben. Diese Werte können auf verschiedene Arten bereitgestellt werden. Sie haben eines im Publisher-Beispiel gesehen: Festlegen eines Werts in der Klassendefinition.

Eine andere Möglichkeit besteht darin, einen Wert in der Anweisung anzugeben, die die Klasse erstellt. Schauen wir uns an, wie das geht. Hier ist der Code zum Erstellen eines Buches mit Werten, die zum Zeitpunkt der Erstellung des Objekts bereitgestellt werden:

Instanziierung eines Objekts
Instanziierung eines Objekts

Wie Sie sehen können, gibt es einige verschiedene Elemente. Führen Sie zunächst eine reguläre Deklaration einer Variablen mit dem Namen myBook und dem Typ Book durch. Denken Sie daran, wie wir gesagt haben, dass eine Klasse ein benannter komplexer Typ ist? Nun, hier ist der Beweis! Anstelle von intdouble oder string ist unser Typ die Klasse, die wir uns ausgedacht haben! 💫

Jetzt kommt der coole Teil. Die Variable wird mit dem Objekterstellungsausdruck new Book("Coding is art","Becky James",425); initialisiert. Dieser Ausdruck besteht aus dem Schlüsselwort new, gefolgt vom Namen der Klasse (Book) und einigen Klammern () mit Werten darin. Wie Sie sehen können, enthält die Klammer einen angegebenen Wert für jedes der ursprünglichen Felder: titleauthor und numberOfPages. Wir haben darauf geachtet, jedes mit einem Komma zu trennen. Beenden Sie schließlich mit einem Semikolon ; . Damit haben Sie eine Instanz des Klassenbuchs erstellt! 📔

Arbeiten mit Attributen (Feldern)

Puh! Das war eine Menge Vokabeln und Konzepte. Bevor wir weitermachen, wollen wir mit einem kurzen Diagramm rekapitulieren:

Von Klasse zu Objekt!
Von Klasse zu Objekt!

Ist das besser? Denken Sie daran:

  • Verwenden Sie eine Klasse als Vorlage für Ihre zukünftigen Objekte. Definieren Sie in einer Klasse den Namen und den Typ einiger Variablen. In Java werden diese Attribute allgemein und Felder speziell genannt.

  • Um den von Ihnen erstellten coolen Plan zu verwenden, müssen Sie ein Objekt mithilfe des Instanziierungsprozesses erstellen. Dies bedeutet, dass Sie eine Variable mit Ihrer Klasse als Typ deklarieren und dann den Objekterstellungsausdruck verwenden, den Sie oben gesehen haben.

  • Wenn Sie ein Objekt instanziieren, erstellen Sie Werte für jedes der Felder, die Sie bereits in Ihrer Klasse definiert haben.

  • Ein Objekt wird als Instanz einer Klasse bezeichnet.

Jetzt bist du bereit! Sie haben Ihr Buchobjekt, aber sagen Sie, Sie ändern Ihre Meinung über den Wert Ihrer Variablen. Wie greifen Sie auf die Felder zu, die Ihrem glänzenden neuen Objekt zugeordnet sind?

Eine gängige Methode für den Zugriff auf Felder in vielen Programmiersprachen ist die Verwendung einer sogenannten Punktnotation. Dies bedeutet, dass Sie den Namen einer Instanz oder eines Objekts gefolgt von einem interessanten Attributnamen schreiben müssen, der durch einen Punkt getrennt ist: instanceVariableName.attributeName.

myBook.title = "Coding is Art";myBook.author = "Becky James";myBook.numberOfPages = myBook.numberOfPages + 10;

Jetzt können Sie den Wert von Feldern in Ihrem Objekt ändern! Stellen Sie sich vor, Sie haben zehn Seiten hinzugefügt, weil Sie vergessen haben, den Index des Buches hinzuzufügen. Sie können entweder die neue Nummer direkt eingeben oder wie in der dritten Zeile zehn Seiten zum vorhandenen Wert hinzufügen. Dies ist ziemlich praktisch, wenn Sie kleine Änderungen vornehmen. 🙂

Probieren Sie es selbst aus

https://api.next.tech/api/v1/publishable_key/2A9CAA3419124E3E8C3F5AFCE5306292?content_id=2871d3da-5053-4373-a813-46b6fcf8118c

Zusammenfassung

In diesem Kapitel haben Sie die Grundlagen von Objekten gelernt:

  • Eine Klasse ist eine Blaupause eines Objekts.

  • Eine Variable einer Klasse wird als Instanz einer Klasse oder eines Objekts bezeichnet.

  • Mit einer Klasse können Sie komplexe Typen erstellen, indem Sie ihre Attribute durch Definieren von Feldern gruppieren.

  • Um ein Objekt zu erstellen, müssen Sie eine Variable einer Klasse deklarieren und instanziieren.

  • Die Punktnotation ermöglicht den Zugriff auf Felder.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.