Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Kapselung | OOP-Prinzipien
C# Jenseits der Grundlagen

bookKapselung

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 gekapselt innerhalb dieser Klassen liegen. Diese Kapselung ermöglicht es, den Zugriff auf den internen Zustand eines Objekts zu steuern, was die Modularität, Wartbarkeit und Sicherheit eines Softwaresystems fördert.

Bei der Kapselung werden Zugriffsmodifizierer wie public, private und protected verwendet, um die meisten Felder und Methoden einer Klasse zu verbergen und nur diejenigen offenzulegen, die von außen genutzt werden sollen.

Da die meisten Daten außerhalb der Klasse nicht direkt zugänglich sind, werden Getter und Setter verwendet, um auf die Daten zuzugreifen oder sie zu verändern.

Ein gutes Beispiel ist eine Customer-Klasse, die einen Bankkunden definiert:

index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132
public 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 direkt von außen zugänglich oder veränderbar. Stattdessen werden Methoden wie Deposit und Withdraw verwendet, um den Wert bei Bedarf zu ändern. Ebenso wird zur Abfrage des Kontostands die Methode getBalance genutzt.

Die Verwendung des Schlüsselworts public wird im Allgemeinen vermieden, sofern es nicht notwendig ist.

Note
Hinweis

Zur Erinnerung: Wenn ein Feld von außerhalb der Klasse nicht zugänglich, aber von abgeleiteten Klassen erreichbar sein soll, kann der Zugriffsmodifizierer protected verwendet werden.

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?

question mark

Welche Rolle spielen Zugriffsmodifizierer bei der Kapselung in C#?

Select the correct answer

question mark

Welcher der folgenden Zugriffsspezifizierer sollte am wenigsten verwendet werden, um die Kapselung zu wahren?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 6

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.04

bookKapselung

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 gekapselt innerhalb dieser Klassen liegen. Diese Kapselung ermöglicht es, den Zugriff auf den internen Zustand eines Objekts zu steuern, was die Modularität, Wartbarkeit und Sicherheit eines Softwaresystems fördert.

Bei der Kapselung werden Zugriffsmodifizierer wie public, private und protected verwendet, um die meisten Felder und Methoden einer Klasse zu verbergen und nur diejenigen offenzulegen, die von außen genutzt werden sollen.

Da die meisten Daten außerhalb der Klasse nicht direkt zugänglich sind, werden Getter und Setter verwendet, um auf die Daten zuzugreifen oder sie zu verändern.

Ein gutes Beispiel ist eine Customer-Klasse, die einen Bankkunden definiert:

index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132
public 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 direkt von außen zugänglich oder veränderbar. Stattdessen werden Methoden wie Deposit und Withdraw verwendet, um den Wert bei Bedarf zu ändern. Ebenso wird zur Abfrage des Kontostands die Methode getBalance genutzt.

Die Verwendung des Schlüsselworts public wird im Allgemeinen vermieden, sofern es nicht notwendig ist.

Note
Hinweis

Zur Erinnerung: Wenn ein Feld von außerhalb der Klasse nicht zugänglich, aber von abgeleiteten Klassen erreichbar sein soll, kann der Zugriffsmodifizierer protected verwendet werden.

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?

question mark

Welche Rolle spielen Zugriffsmodifizierer bei der Kapselung in C#?

Select the correct answer

question mark

Welcher der folgenden Zugriffsspezifizierer sollte am wenigsten verwendet werden, um die Kapselung zu wahren?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 6
some-alt