C# Flashcards

1
Q

Wat is een klasse?

A

Een klasse is een blauwdruk voor objecten. Het definieert de eigenschappen (attributen/velden) en methoden (gedrag) die het object zal hebben.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wat is een object?

A

Een instantie van een klasse. Met een klasse definieer je een type, en met objecten creëer je specifieke instanties van dat type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wat is encapsulation?

A

Dit principe houdt in dat de data van een object wordt afgeschermd door middel van toegangsmodifiers (zoals private, protected, en public). Alleen via gedefinieerde methoden of properties kan er toegang worden verkregen tot de interne gegevens van het object.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wat is inheritance?

A

Klassen kunnen eigenschappen en methoden overerven van een andere klasse. Dit bevordert herbruikbaarheid en maakt je code flexibeler.

Een basisklasse kan algemene functionaliteit bevatten, terwijl afgeleide klassen deze functionaliteit kunnen uitbreiden of aanpassen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wat is polymorphism?

A

Polymorfisme staat toe dat methoden op verschillende manieren kunnen worden gebruikt, afhankelijk van het object dat het aanroept.

Dit kan door overerving (waarbij een afgeleide klasse een methode van de basis kan overschrijven) of interface-implementatie.

Method overriding: In afgeleide klassen kun je methoden van de basisklasse opnieuw definiëren.

Method overloading: Methodes met dezelfde naam, maar verschillende parameters binnen dezelfde klasse.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wat is abstraction?

A

Abstractie verbergt de complexe details van de implementatie en toont alleen de essentie van wat de gebruiker moet weten.

In C# kan dit worden gedaan met abstracte klassen of interfaces.

Een abstracte klasse kan niet worden geïnstantieerd, maar dient als een basis voor andere klassen. Abstracte methoden moeten in afgeleide klassen worden geïmplementeerd.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wat is een constructor?

A

Een constructor is een speciale methode die wordt aangeroepen wanneer een object van een klasse wordt gemaakt. Het wordt gebruikt om het object te initialiseren.

C# ondersteunt parameterloze en geparametriseerde constructors.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wat is een propertie?

A

Properties bieden een gecontroleerde manier om toegang te krijgen tot de velden van een klasse, vaak met get en set methodes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wat is een interface?

A

Een interface definieert een contract waar klassen zich aan moeten houden. Het bevat alleen de signaturen van methoden, en de klassen die de interface implementeren, moeten de methoden invullen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wat betekend static?

A

Het static keyword betekent dat een veld of methode toebehoort aan de klasse zelf in plaats van aan een specifiek object.

Statistische methoden kunnen worden aangeroepen zonder een object van de klasse te maken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wat is exception handeling?

A

Dit is het afvangen en afhandelen van fouten in je programma. In C# wordt dit gedaan met try, catch, finally, en throw.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wat betekend public?

A

Wanneer een lid van een klasse als public wordt gemarkeerd, betekent dit dat het lid toegankelijk is voor alle andere klassen of methoden, zowel binnen als buiten de klasse waarin het is gedefinieerd.

Met andere woorden, alles dat public is, kan door andere klassen worden gezien en gebruikt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wat betekend private?

A

Een private lid is alleen toegankelijk binnen de klasse waarin het is gedefinieerd. Dit betekent dat andere klassen, zelfs die in hetzelfde project, geen directe toegang hebben tot dit lid.

Het wordt gebruikt om de toegang tot gegevens te beperken en te voorkomen dat de interne toestand van een object direct wordt gewijzigd van buiten de klasse.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Samenvatting

A

Encapsulatie: Gegevens verbergen en toegang beperken.
Klassen en objecten: Klassen zijn blauwdrukken voor objecten.
Erfelijkheid: Functionaliteit van een klasse hergebruiken in een afgeleide klasse.
Polymorfisme: Objecten van verschillende typen op dezelfde manier gebruiken.
Abstractie: Alleen de essentie van een object tonen.
Interfaces: Contracten definiëren zonder implementatie.
Constructors: Objecten initialiseren bij creatie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wat betekend protected?

A

protected leden zijn alleen toegankelijk binnen hun eigen klasse en afgeleide klassen (subklassen), zowel binnen hetzelfde project als binnen andere projecten die van de klasse erven.

Dit wordt vaak gebruikt in het geval van erfelijkheid, waar de afgeleide klasse toegang nodig heeft tot bepaalde methoden of velden van de basis-/superklasse, maar je wilt voorkomen dat andere klassen buiten de erfelijke relatie toegang hebben.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wat betekend internal?

A

internal leden zijn toegankelijk binnen dezelfde assembly (project of bibliotheek) waarin ze zijn gedefinieerd, maar niet daarbuiten.

Dit betekent dat elk onderdeel van de applicatie dat in dezelfde assembly is gedefinieerd, toegang heeft tot de internal leden, maar andere assemblies (bijvoorbeeld een andere projectreferentie of externe code) hebben geen toegang.

17
Q

Wat betekend protected internal?

A

protected internal is een combinatie van protected en internal.

Leden met deze modifier zijn toegankelijk voor klassen binnen dezelfde assembly, evenals voor afgeleide klassen buiten de assembly.

Dit betekent dat klassen in dezelfde assembly als de gedefinieerde klasse volledige toegang hebben, en afgeleide klassen in een andere assembly hebben toegang via erfelijkheid.

18
Q

Wat betekend private protected?

A

private protected betekent dat een lid alleen toegankelijk is binnen de eigen klasse of afgeleide klassen, en alleen binnen dezelfde assembly.

Dit biedt een nog specifiekere vorm van bescherming dan protected, omdat afgeleide klassen buiten de assembly geen toegang hebben.

19
Q

Samenvatting van toegangsmodifiers:

A

public: Toegankelijk voor iedereen (overal).
private: Alleen toegankelijk binnen dezelfde klasse.
protected: Toegankelijk binnen dezelfde klasse en afgeleide klassen (subklassen).
internal: Toegankelijk binnen dezelfde assembly.
protected internal: Toegankelijk binnen dezelfde assembly en afgeleide klassen, zelfs buiten de assembly.
private protected: Toegankelijk binnen de klasse en afgeleide klassen, maar alleen binnen dezelfde assembly.