Kapselung
Kapselung ist im Wesentlichen eine Methode zur Datenorganisation. Dabei werden Daten und Methoden in Form von Klassen organisiert, sodass das gesamte Programm im Grunde auf Klassen basiert und die Daten sowie Methoden innerhalb dieser Klassen gekapselt sind. Diese Kapselung bietet eine Möglichkeit, den Zugriff auf den internen Zustand eines Objekts zu steuern, was die Modularität, Wartbarkeit und Sicherheit eines Softwaresystems fördert.
Bei der Kapselung verwenden wir Zugriffsmodifizierer wie public
, private
und protected
, um die meisten Felder und Methoden einer Klasse zu verbergen und nur diejenigen offenzulegen, die von außen verwendet werden müssen.
Da die meisten Daten außerhalb der Klasse nicht direkt zugänglich sind, verwenden wir Getter und Setter, um auf die Daten zuzugreifen oder sie zu ändern.
Ein gutes Beispiel ist eine Customer
-Klasse, die den Kunden einer Bank definiert:
index.cs
1234567891011121314151617181920212223242526272829303132public class Customer { private double accountBalance; private string customerName; private int pinCode; public Customer(double accountBalance, string customerName, int pinCode) { this.accountBalance = accountBalance; this.customerName = customerName; this.pinCode = pinCode; } public double getBalance(int pinCode) { if (pinCode == this.pinCode) return this.accountBalance; return } public void Deposit(double amount, int pinCode) { if(pinCode == this.pinCode) accountBalance += amount; } public void Withdraw(double amount, int pinCode) { if(pinCode == this.pinCode) accountBalance -= amount; } }
Im obigen Beispiel ist kein Feld von außen direkt zugänglich oder veränderbar. Stattdessen verwenden wir Methoden wie Deposit
und Withdraw
, um den Wert bei Bedarf zu ändern. Ebenso nutzen wir die Methode getBalance
, um auf den Kontostand zuzugreifen.
Die Verwendung des Schlüsselworts public
wird im Allgemeinen nur dann empfohlen, wenn es unbedingt notwendig ist.
1. Welche Rolle spielen Zugriffsmodifizierer bei der Kapselung in C#?
2. Welcher der folgenden Zugriffsspezifizierer sollte am wenigsten verwendet werden, um die Kapselung zu wahren?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain the difference between public, private, and protected access modifiers?
Why is encapsulation important in object-oriented programming?
Can you provide another real-world example of encapsulation?
Awesome!
Completion rate improved to 2.04
Kapselung
Swipe um das Menü anzuzeigen
Kapselung ist im Wesentlichen eine Methode zur Datenorganisation. Dabei werden Daten und Methoden in Form von Klassen organisiert, sodass das gesamte Programm im Grunde auf Klassen basiert und die Daten sowie Methoden innerhalb dieser Klassen gekapselt sind. Diese Kapselung bietet eine Möglichkeit, den Zugriff auf den internen Zustand eines Objekts zu steuern, was die Modularität, Wartbarkeit und Sicherheit eines Softwaresystems fördert.
Bei der Kapselung verwenden wir Zugriffsmodifizierer wie public
, private
und protected
, um die meisten Felder und Methoden einer Klasse zu verbergen und nur diejenigen offenzulegen, die von außen verwendet werden müssen.
Da die meisten Daten außerhalb der Klasse nicht direkt zugänglich sind, verwenden wir Getter und Setter, um auf die Daten zuzugreifen oder sie zu ändern.
Ein gutes Beispiel ist eine Customer
-Klasse, die den Kunden einer Bank definiert:
index.cs
1234567891011121314151617181920212223242526272829303132public class Customer { private double accountBalance; private string customerName; private int pinCode; public Customer(double accountBalance, string customerName, int pinCode) { this.accountBalance = accountBalance; this.customerName = customerName; this.pinCode = pinCode; } public double getBalance(int pinCode) { if (pinCode == this.pinCode) return this.accountBalance; return } public void Deposit(double amount, int pinCode) { if(pinCode == this.pinCode) accountBalance += amount; } public void Withdraw(double amount, int pinCode) { if(pinCode == this.pinCode) accountBalance -= amount; } }
Im obigen Beispiel ist kein Feld von außen direkt zugänglich oder veränderbar. Stattdessen verwenden wir Methoden wie Deposit
und Withdraw
, um den Wert bei Bedarf zu ändern. Ebenso nutzen wir die Methode getBalance
, um auf den Kontostand zuzugreifen.
Die Verwendung des Schlüsselworts public
wird im Allgemeinen nur dann empfohlen, wenn es unbedingt notwendig ist.
1. Welche Rolle spielen Zugriffsmodifizierer bei der Kapselung in C#?
2. Welcher der folgenden Zugriffsspezifizierer sollte am wenigsten verwendet werden, um die Kapselung zu wahren?
Danke für Ihr Feedback!