T2 - 2021 Flashcards

1
Q

Stel dat de klasse vaag en abstract methode bevat. Wat is dan waar?

A

Je kunt geen object van het type vaag creëeren.

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

Aanroep van de methode Start van een Thread-object heeft tot gevolg dat.

A

De methode die bij de constructor van Thread werd meegegeven wordt aangeroepen.

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

De expressie 2 * ‘4’ heeft waarde

A

104, Als je rekent met characters, wordt er gerekend met de Unicode waarde van het karakter. De Unicode van ‘4’ is 52, dus keer 2 is dat 104.

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

Een verschil tussen een list en een collection

A

Een collection heeft geen indexer-property

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

Na de declaratie int[,,] a = new int [2,3,4]; heeft de array a … variabelen?

A

24 variabelen, 2 3 4 = 24 elementen

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

Het keyword value kan worden gebruikt binnen de definitie van een property

A

in de set-minimethode, en heeft dat de waard van de rechterkant van een toekenning aan de property

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

Is het mogelijk om in een klasse onder andere member-variable te declareren met diezelfde klasse als type?

A

Ja, dit kan altijd. In een struct zou dit oneindig veel geheugen kosten, maar in een class kan het, dankzij de verwijzing die er dan tussen ligt, wel. Ook circulaire structuren zijn mogelijk, als moet je dan wel uitkijken voor oneindige herhaling als je zo’n structuur met while zou doorlopen.

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

Stel dat je moet voortbouwen op een klasse die een collega-programmeur in je team geschreven heeft.
Je maakt daarom een kopie van de sourcecode, verandert de klassenaam en maakt de noodzakelijke
uitbreidingen en aanpassingen. Waarom is dit geen goed idee?

A

Met een subklasse zou de code van het team gemakkelijker te onderhouden zijn

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

In een subklasse van klasse K staat een methode met als header

public override void M()

Als je in de body van deze methode de oorspronkelijke methode M wilt aanroepen schrijf je

A

base.M();

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

In sommige libraries worden naast klassen ook interfaces gedefinieerd.

Wat staat er in de body van zo’n interface?

A

In een interface staan alleen maar methode- (en property-) headers, dus zonder body.

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

In sommige libraries worden naast klassen ook interfaces gedefinieerd.

Als er een interface I bestaat, kun je daarna een klasse K de nieren met als header
class K : I
Wat voor gevolgen heeft het in de header vermelden van zo’n interface I
voor de klasse K ?

A

Met class K : I wordt aangeven dat de klasse K alle in de interface I genoemde members implementeert.

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

In sommige libraries worden naast klassen ook interfaces gedefinieerd.
Als er een klasse A bestaat, kun je daarna een klasse B definieren met als header
class B : A
Wat voor gevolgen heeft het in de header vermelden van zo’n andere klasse A
voor de klasse B ?

A

Met class B : A wordt aangeven dat de klasse B alle in de superklasse A genoemde members mag gebruiken, en virtual methoden ook mag overriden.

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

Van string-objecten wordt gezegd dat ze immutable zijn.

Toch kun je declareren:
string voorbeeld = “Hallo”;
en dan later nog schrijven:
voorbeeld += “!”;

Waarom is het toch correct om te zeggen dat string-objecten immutable zijn?
Antwoord: Het object met de string “Hallo” blijft ongewijzigd. Er wordt een

A

Het object met de string “Hallo” blijft ongewijzigd. Er wordt een nieuw object gemaakt met de inhoud “Hallo!”. De variabele voorbeeld bevat een verwijzing naar het object,
en die mag wel veranderen.

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

Van string-objecten wordt gezegd dat ze immutable zijn.

Ook bij het type int kun je declareren
int test = 15;
en dan later nog schrijven:
test += 3;
Waarom wordt van int, in tegenstelling tot van string, niet gezegd wordt dat het immutable is?

A

`Immutable’ zeg je van objecten, als de membervariabelen niet kunnen veranderen. Maar int is een primitief type, dus daar kun je dat niet van zeggen. Ook goed: een int-variabele bevat niet een verwijzing naar een object, maar de waarde zelf. Die
waarde kan wel veranderen.

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

Van string-objecten wordt gezegd dat ze immutable zijn.

De operator += wordt ook nog in een hele andere context gebruikt.
Welke context is dat, en wat is dan de semantiek?

A

De context is die van het registreren van eventhandlers.
De semantiek van eventProperty += eventHandler is dat de eventHandler-methode zal worden aangeroepen zodra de event behorende bij deze property optreedt.

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