Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Encapsulatie | OOP-Principes
C# Verder dan de Basis

bookEncapsulatie

Encapsulatie is in wezen een methode voor gegevensorganisatie. Het houdt in dat gegevens en methoden worden georganiseerd in de vorm van klassen, zodat het hele programma in feite is gebaseerd op klassen en de gegevens en methoden geëcapsuleerd zijn binnen die klassen. Deze encapsulatie biedt een manier om de toegang tot de interne toestand van een object te beheersen, wat modulariteit, onderhoudbaarheid en beveiliging in een softwaresysteem bevordert.

Bij encapsulatie worden toegangsmodificatoren zoals public, private en protected gebruikt om de meeste velden en methoden van een klasse te verbergen en alleen die te onthullen die van buitenaf gebruikt moeten worden.

Omdat de meeste gegevens direct ontoegankelijk zijn buiten de klasse, worden getters en setters gebruikt om toegang te krijgen tot of wijzigingen aan te brengen in de gegevens.

Een goed voorbeeld is een Customer-klasse die de klant van een bank definieert:

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; } }

In het bovenstaande voorbeeld is geen enkel veld direct toegankelijk of aanpasbaar van buitenaf. In plaats daarvan gebruik je methoden zoals Deposit en Withdraw om de waarde aan te passen wanneer dat nodig is. Op dezelfde manier gebruik je de methode getBalance om de waarde van het saldo te raadplegen.

Het gebruik van het sleutelwoord public wordt over het algemeen afgeraden, tenzij het noodzakelijk is.

Note
Opmerking

Ter herinnering: als we een veld ontoegankelijk willen houden van buiten de klasse, maar wel toegankelijk voor afgeleide klassen, kunnen we de protected access modifier gebruiken.

1. Welke rol spelen access modifiers bij encapsulation in C#?

2. Welke van de volgende toegangsmodificatoren dient het minst gebruikt te worden om encapsulatie te behouden?

question mark

Welke rol spelen access modifiers bij encapsulation in C#?

Select the correct answer

question mark

Welke van de volgende toegangsmodificatoren dient het minst gebruikt te worden om encapsulatie te behouden?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 6

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you provide an example of encapsulation in code?

Why is using public fields discouraged in encapsulation?

How do getters and setters improve security?

Awesome!

Completion rate improved to 2.04

bookEncapsulatie

Veeg om het menu te tonen

Encapsulatie is in wezen een methode voor gegevensorganisatie. Het houdt in dat gegevens en methoden worden georganiseerd in de vorm van klassen, zodat het hele programma in feite is gebaseerd op klassen en de gegevens en methoden geëcapsuleerd zijn binnen die klassen. Deze encapsulatie biedt een manier om de toegang tot de interne toestand van een object te beheersen, wat modulariteit, onderhoudbaarheid en beveiliging in een softwaresysteem bevordert.

Bij encapsulatie worden toegangsmodificatoren zoals public, private en protected gebruikt om de meeste velden en methoden van een klasse te verbergen en alleen die te onthullen die van buitenaf gebruikt moeten worden.

Omdat de meeste gegevens direct ontoegankelijk zijn buiten de klasse, worden getters en setters gebruikt om toegang te krijgen tot of wijzigingen aan te brengen in de gegevens.

Een goed voorbeeld is een Customer-klasse die de klant van een bank definieert:

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; } }

In het bovenstaande voorbeeld is geen enkel veld direct toegankelijk of aanpasbaar van buitenaf. In plaats daarvan gebruik je methoden zoals Deposit en Withdraw om de waarde aan te passen wanneer dat nodig is. Op dezelfde manier gebruik je de methode getBalance om de waarde van het saldo te raadplegen.

Het gebruik van het sleutelwoord public wordt over het algemeen afgeraden, tenzij het noodzakelijk is.

Note
Opmerking

Ter herinnering: als we een veld ontoegankelijk willen houden van buiten de klasse, maar wel toegankelijk voor afgeleide klassen, kunnen we de protected access modifier gebruiken.

1. Welke rol spelen access modifiers bij encapsulation in C#?

2. Welke van de volgende toegangsmodificatoren dient het minst gebruikt te worden om encapsulatie te behouden?

question mark

Welke rol spelen access modifiers bij encapsulation in C#?

Select the correct answer

question mark

Welke van de volgende toegangsmodificatoren dient het minst gebruikt te worden om encapsulatie te behouden?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 6
some-alt