Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Getter und Setter | Klassen Fortgeschritten
Java Erweitert

bookGetter und Setter

Die beste Methode, den Private Access Modifier zu umgehen

Alle Java-Programmierer verwenden Konstrukte, die als Getter und Setter bezeichnet werden.

Getter und Setter sind Methoden, die einem bestimmten Muster folgen. Sie dienen dazu, den private Access Modifier zu umgehen und Felder aus einer anderen Klasse effektiv zu manipulieren.

Was machen Getter und Setter?

Einfach ausgedrückt ermöglicht der Setter, einem bestimmten Feld, das durch den Private Access Modifier geschützt ist, einen Wert zuzuweisen, während der Getter es ermöglicht, den Wert eines durch den Private Access Modifier geschützten Feldes abzurufen.

Die Syntax für einen Getter und einen Setter:

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Wie im obigen Code zu sehen ist, verwenden wir die Namenskonvention für die Methoden getFieldName() und setFieldName(). Wenn wir also ein Feld private String name haben und einen Getter und einen Setter mit den Namen getName() bzw. setName() erstellen, gilt Folgendes: Es ist außerdem zu beachten, dass der Getter einen Wert vom gleichen Typ wie das Feld name zurückgibt, während der Setter einen Parameter vom gleichen Typ wie das Feld name entgegennimmt.

Dies ermöglicht den Zugriff auf Felder, die durch den private Access Modifier geschützt sind. Sehen wir uns ein Beispiel für den Zugriff auf ein privates Feld aus der Klasse Person in der main-Klasse an:

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Wie ersichtlich, wird der Setter verwendet, um einen Wert für das Feld name zu setzen, und anschließend der Getter, um den Wert des Feldes name auf dem Bildschirm anzuzeigen. Beachten Sie die Syntax von Getter und Setter sowie die Tatsache, dass das Feld name in der Klasse Person durch den Zugriffsmodifikator private geschützt ist.

Konstruktor vs Getter/Setter

Was ist besser zu verwenden: Initialisierung über einen Konstruktor + Überschreiben der Methode toString(), oder die Verwendung von Gettern und Settern?

Es ist eindeutig besser, Getter und Setter zu verwenden, um auf Felder zuzugreifen, die durch den Zugriffsmodifikator private geschützt sind. Dies bietet eine größere Flexibilität im Code und verbessert dessen Lesbarkeit. Wenn die Methode getName() im Code verwendet wird, ist sofort ersichtlich, dass dieses Verfahren das Feld mit dem Namen name abruft. Dasselbe gilt, wenn die Methode setName() verwendet wird: Es ist sofort klar, dass einem Feld für das Objekt der jeweiligen Klasse ein bestimmter Wert zugewiesen wird. Wenn andere Personen Ihren Code lesen, werden sie sich über die Verwendung von Gettern und Settern freuen.

Es ist außerdem zu beachten, dass jedes Feld einen eigenen Getter und Setter benötigt. Wenn eine Klasse zwei Felder besitzt, die durch den Zugriffsmodifikator private geschützt sind, sollte die Klasse jeweils einen Getter pro Feld besitzen, also zwei Getter und zwei Setter. Sehen wir uns ein Beispiel an, in dem wir der Klasse age ein Feld Person hinzufügen:

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Wie Sie sehen, haben wir für jedes Feld der Klasse Person einen Getter und einen Setter erstellt. In der main-Methode wurden die Felder mithilfe des Setters initialisiert und ihre Werte mit dem Getter auf dem Bildschirm angezeigt. Die Verwendung dieser Methoden ist sehr praktisch, und Sie werden sie in Zukunft häufig verwenden.

1. Was ist der Zweck der Verwendung von Gettern und Settern?

2. Wie lautet die Syntax einer Getter-Methode in Java?

3. Wie lautet die Syntax einer Setter-Methode in Java?

question mark

Was ist der Zweck der Verwendung von Gettern und Settern?

Select the correct answer

question mark

Wie lautet die Syntax einer Getter-Methode in Java?

Select the correct answer

question mark

Wie lautet die Syntax einer Setter-Methode in Java?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 5

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 2.63

bookGetter und Setter

Swipe um das Menü anzuzeigen

Die beste Methode, den Private Access Modifier zu umgehen

Alle Java-Programmierer verwenden Konstrukte, die als Getter und Setter bezeichnet werden.

Getter und Setter sind Methoden, die einem bestimmten Muster folgen. Sie dienen dazu, den private Access Modifier zu umgehen und Felder aus einer anderen Klasse effektiv zu manipulieren.

Was machen Getter und Setter?

Einfach ausgedrückt ermöglicht der Setter, einem bestimmten Feld, das durch den Private Access Modifier geschützt ist, einen Wert zuzuweisen, während der Getter es ermöglicht, den Wert eines durch den Private Access Modifier geschützten Feldes abzurufen.

Die Syntax für einen Getter und einen Setter:

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Wie im obigen Code zu sehen ist, verwenden wir die Namenskonvention für die Methoden getFieldName() und setFieldName(). Wenn wir also ein Feld private String name haben und einen Getter und einen Setter mit den Namen getName() bzw. setName() erstellen, gilt Folgendes: Es ist außerdem zu beachten, dass der Getter einen Wert vom gleichen Typ wie das Feld name zurückgibt, während der Setter einen Parameter vom gleichen Typ wie das Feld name entgegennimmt.

Dies ermöglicht den Zugriff auf Felder, die durch den private Access Modifier geschützt sind. Sehen wir uns ein Beispiel für den Zugriff auf ein privates Feld aus der Klasse Person in der main-Klasse an:

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Wie ersichtlich, wird der Setter verwendet, um einen Wert für das Feld name zu setzen, und anschließend der Getter, um den Wert des Feldes name auf dem Bildschirm anzuzeigen. Beachten Sie die Syntax von Getter und Setter sowie die Tatsache, dass das Feld name in der Klasse Person durch den Zugriffsmodifikator private geschützt ist.

Konstruktor vs Getter/Setter

Was ist besser zu verwenden: Initialisierung über einen Konstruktor + Überschreiben der Methode toString(), oder die Verwendung von Gettern und Settern?

Es ist eindeutig besser, Getter und Setter zu verwenden, um auf Felder zuzugreifen, die durch den Zugriffsmodifikator private geschützt sind. Dies bietet eine größere Flexibilität im Code und verbessert dessen Lesbarkeit. Wenn die Methode getName() im Code verwendet wird, ist sofort ersichtlich, dass dieses Verfahren das Feld mit dem Namen name abruft. Dasselbe gilt, wenn die Methode setName() verwendet wird: Es ist sofort klar, dass einem Feld für das Objekt der jeweiligen Klasse ein bestimmter Wert zugewiesen wird. Wenn andere Personen Ihren Code lesen, werden sie sich über die Verwendung von Gettern und Settern freuen.

Es ist außerdem zu beachten, dass jedes Feld einen eigenen Getter und Setter benötigt. Wenn eine Klasse zwei Felder besitzt, die durch den Zugriffsmodifikator private geschützt sind, sollte die Klasse jeweils einen Getter pro Feld besitzen, also zwei Getter und zwei Setter. Sehen wir uns ein Beispiel an, in dem wir der Klasse age ein Feld Person hinzufügen:

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Wie Sie sehen, haben wir für jedes Feld der Klasse Person einen Getter und einen Setter erstellt. In der main-Methode wurden die Felder mithilfe des Setters initialisiert und ihre Werte mit dem Getter auf dem Bildschirm angezeigt. Die Verwendung dieser Methoden ist sehr praktisch, und Sie werden sie in Zukunft häufig verwenden.

1. Was ist der Zweck der Verwendung von Gettern und Settern?

2. Wie lautet die Syntax einer Getter-Methode in Java?

3. Wie lautet die Syntax einer Setter-Methode in Java?

question mark

Was ist der Zweck der Verwendung von Gettern und Settern?

Select the correct answer

question mark

Wie lautet die Syntax einer Getter-Methode in Java?

Select the correct answer

question mark

Wie lautet die Syntax einer Setter-Methode in Java?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 5
some-alt