Video: Java OOP-Basics (BlueJ) - Attribute, Konstruktoren, Get&Set-Methoden 2024
In Java können Sie eine Klasse definieren. Was bedeutet das? Denk darüber so. Was unterscheidet ein Bankkonto von einem anderen? Wenn Sie einem Bankier diese Frage stellen, hören Sie ein langes Verkaufsgespräch. Der Bankier beschreibt Zinssätze, Gebühren, Strafen - die ganze Routine. Mach dir keine Sorgen, für dieses Beispiel musst du das alles nicht wissen.
Stattdessen möchten Sie wissen, wie sich mein Konto von Ihrem Konto unterscheidet. Schließlich wird mein Konto Barry Burd genannt, das als Burd Brain Consulting gehandelt wird, und Ihr Konto heißt Jane Q. Reader und wird als angehender Java-Experte gehandelt. Mein Konto hat $ 24. 02 darin. Wie wäre es mit deiner?
Wenn Sie es gleich machen, können die Unterschiede zwischen einem Konto und einem anderen als Werte von Variablen zusammengefasst werden. Vielleicht gibt es eine Variable namens
balance
. Für mich ist der Wert von
balance
24. 02
. Für Sie ist der Wert von
balance
55. 63
. Die Frage ist, wie kann ich meine
Balance
Variable von Ihrer
Balance
Variable trennen, wenn ich ein Computerprogramm schreibe, um mit Konten umzugehen?
Die Antwort besteht darin, zwei separate Objekte zu erstellen. Lassen Sie eine
Variable
in einem der Objekte leben und lassen Sie die andere
Variable
in dem anderen Objekt lebendig werden. Fügen Sie währenddessen eine
-Variable
und eine
-Adresse
-Variable in jedes der Objekte ein. Und da haben Sie es: zwei Objekte, und jedes Objekt repräsentiert ein
Konto
. Genauer gesagt ist jedes Objekt eine Instanz der Account-Klasse.
So weit, so gut. Sie haben das ursprüngliche Problem jedoch immer noch nicht gelöst. Wie verweisen Sie in Ihrem Computerprogramm auf meine Variable
balance
im Gegensatz zu Ihrer Variablen
balance
? Nun, Sie haben zwei Objekte herum, also haben Sie vielleicht Variablen, die sich auf diese beiden Objekte beziehen. Erstellen Sie eine Variable namens myAccount und eine weitere Variable namens yourAccount. Die Variable
myAccount
bezieht sich auf mein Objekt (meine Instanz der
Account
-Klasse) mit all dem Zeug, das sich darin befindet. Um auf meine Waage zu verweisen, schreiben Sie
myAccount. balance
Um auf meinen Namen zu verweisen, schreiben Sie
myAccount. name
Dann
IhrKonto. balance
bezieht sich auf den Wert in der Variablen
balance
Ihres Objekts und
yourAccount. Name
bezieht sich auf den Wert der
-Namens
-Variable Ihres Objekts. Um Java mitzuteilen, wie viel ich in meinem Konto habe, können Sie
myAccount schreiben. Bilanz = 24. 02;
Um Ihren Namen auf dem Bildschirm anzuzeigen, können Sie
ausgeben.println (IhrKonto-Name);
Was es bedeutet, ein Konto zu sein.
public class Konto {
Stringname;
Stringadresse;
doppeltes Gleichgewicht;
}
Die
Account
-Klasse definiert, was es bedeutet, ein
-Konto
zu sein. Dieser Code teilt Ihnen insbesondere mit, dass jede der Instanzen der
Account
-Klasse drei Variablen hat:
name
,
adresse
und
balance
. Dies stimmt mit den Informationen im obigen Bild überein. 1. Java-Programmierer haben einen speziellen Namen für solche Variablen (Variablen, die zu Instanzen von Klassen gehören). Jede dieser Variablen -
Name
,
Adresse
und
Balance
- wird als -Feld bezeichnet.
Eine Variable innerhalb einer Klasse, aber nicht innerhalb einer bestimmten Methode, ist ein Feld. Die Variablen
name
,
adresse
und
balance
sind Felder. Ein anderer Name für ein Feld ist eine Instanzvariable.
Können Sie wirklich eine vollständige Java-Klasse mit nur vier Codezeilen definieren (Geben oder Nehmen Sie eine geschweifte Klammer)? Du kannst es sicherlich. Eine Klasse ist eine Gruppierung von vorhandenen Dingen. In der
Account
-Klasse sind diese vorhandenen Objekte zwei
String
-Werte und ein
double
-Wert.
Die Felddeklarationen haben Standardzugriff, was bedeutet, dass vor dem Typnamen
String
kein Wort hinzugefügt wurde. Die Alternativen zum Standardzugriff sind öffentlicher, geschützter und privater Zugriff:
public String name;
geschützte String-Adresse;
private Doppelbilanz;
Professionelle Programmierer scheuen die Verwendung des Standardzugriffs, da der Standardzugriff ein Feld nicht vor versehentlichem Missbrauch schützt. Aber Sie lernen am besten, wenn Sie zuerst etwas über die einfachsten Dinge lernen, und in Java ist der Standardzugriff der einfachste Weg.