Felder (Attribute)
Teil des Abschnitts Objektorientierte Programmierung der Java-Journey von Coddy — Lektion 6 von 87.
Felder (Attribute) sind Variablen, die Daten innerhalb einer Klasse speichern. Sie sind normalerweise private und der Zugriff erfolgt über Getter- und Setter-Methoden.
Felder deklarieren
public class Person {
private String name;
private int age;
}Hinzufügen von Gettern und Settern
public class Person {
private String name;
private int age;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return this.age;
}
public void setAge(int age) {
if (age >= 0) {
this.age = age;
}
}
}Verwendung der Klasse
Person person = new Person();
person.setName("Alice");
person.setAge(25);
System.out.println(person.getName()); // AliceFelder als private zu deklarieren, wird als Kapselung bezeichnet. Es schützt Daten, indem der Zugriff über Methoden gesteuert wird, was es ermöglicht, Validierungen in Settern hinzuzufügen.
Aufgabe
MittelErstellen Sie eine BankAccount-Klasse mit privaten Feldern und Getter-Methoden:
- Private Felder:
accountName(String) undbalance(double) - Ein Konstruktor, um beide Felder zu setzen
- Getter-Methoden für jedes Feld
deposit()-Methode, um Geld hinzuzufügenwithdraw()-Methode, die "Success" oder "Insufficient funds" zurückgibt
Spickzettel
Felder (Attribute) sind Variablen, die Daten innerhalb einer Klasse speichern. Sie sind in der Regel private und werden über Getter- und Setter-Methoden aufgerufen.
Deklarieren von privaten Feldern:
public class Person {
private String name;
private int age;
}Hinzufügen von Gettern und Settern:
public class Person {
private String name;
private int age;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return this.age;
}
public void setAge(int age) {
if (age >= 0) {
this.age = age;
}
}
}Verwenden der Klasse:
Person person = new Person();
person.setName("Alice");
person.setAge(25);
System.out.println(person.getName()); // AliceFelder als private zu deklarieren, wird als Kapselung (Encapsulation) bezeichnet. Es schützt Daten, indem der Zugriff über Methoden gesteuert wird, was es Ihnen ermöglicht, Validierungen in Settern hinzuzufügen.
Probier es selbst
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
double initial = Double.parseDouble(scanner.nextLine());
double deposit = Double.parseDouble(scanner.nextLine());
BankAccount account = new BankAccount(name, initial);
System.out.println("Account: " + account.getAccountName());
System.out.println("Balance: " + account.getBalance());
account.deposit(deposit);
System.out.println("After deposit: " + account.getBalance());
String result = account.withdraw(2000);
System.out.println("Withdraw 2000: " + result);
System.out.println("Final Balance: " + account.getBalance());
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDas this-SchlüsselwortMethodenFelder (Attribute)Konstruktor-MethodeKonstruktor-ÜberladungRückblick – Einfacher Taschenrechner4Vererbung
Grundlagen der Vererbung (extends)Das super-SchlüsselwortMethoden überschreiben (@Override)Konstruktor-VerkettungDie Object-KlasseEinfache & mehrstufige VererbungWarum keine Mehrfachvererbung von KlassenZusammenfassung - Mitarbeiter-Hierarchie7Spezielle Methoden & Object-Klasse
toString()-Methodeequals() und hashCode()clone()-MethodecompareTo() und ComparableComparator-InterfaceZusammenfassung – Benutzerdefiniertes Sortieren2Zugriffsmodifikatoren & Kapselung
Überblick über ZugriffsebenenGetter- und Setter-MethodenInformation HidingDas final-SchlüsselwortRückblick – Bankkonto-Manager5Polymorphismus
Grundlagen der MethodenüberladungMethodenüberschreibung (Laufzeit)Upcasting und DowncastingDer instanceof-OperatorAbstrakte Klassen und MethodenZusammenfassung – Formenrechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungAggregation vs. KompositionInnere, geschachtelte & anonyme KlassenEnums und Enum-MethodenRecords (Java 16+)Sealed Classes (Java 17+)11Design Patterns Teil 1
Einführung in Design PatternsSingleton-PatternFactory-PatternBuilder-PatternObserver-PatternStrategy-Pattern14Abschlussherausforderungen
E-Learning-PlattformBanksystemSpielcharakter-EntwicklungFahrzeugvermietung3Klasseneigenschaften & Statische Member
Instanz- vs. statische VariablenStatische MethodenStatische BlöckeKonstanten (static final)Zusammenfassung – Zähler & Utility6Interfaces & Abstrakte Klassen
Einführung in InterfacesInterfaces implementierenImplementierung mehrerer InterfacesDefault- & statische Methoden in InterfacesAbstrakte Klassen vs. InterfacesFunktionale InterfacesZusammenfassung - Zahlungssystem