Principes OOP Flashcards

1
Q

Object in OOP?

A

Samenhangend geheel van data & methodes om data te verwerken, eigen identiteit

voorbeeld: character in video game
* name, HP, …
* kan ander object bevatten: wapen met methode schiet
* eigen methode: move, attack (die wapen object oproept)
* Interface Character

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

Basis ideeën OOP

A
  • modulariteit
  • encapsulering (data hiding)
  • overerving
  • polymorfisme
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Modulariteit?

A

Ontbinden van een probleem (programma) in modules om zo de totale complexiteit van het probleem te verminderen.

Object:

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

Encapsulering?

A

Data hiding

Een object verbergt zijn implementatie voor ‘onbevoegden’

Bundelen van gegevens, samen met de methoden die op die gegevens werken, in een enkele eenheid.

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

Overerving?

A

De functionaliteit van een object uitbreiden of specialiseren.

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

Polymorfisme?

A

Meerdere objecten kunnen een bepaalde taak uitvoeren.Welk object een taak uitvoert wordt pas op het moment zelf bepaald.

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

SOLID OO

A
Single purpose
Open/closed
Liskovsubstitution
Interface segregation
Dependency inversion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Single purpose principle

A

Klasse:
1 duidelijke verantwoordelijkheid
1 reden wijzigingen

Aanwijzingen principe:

  • klasse beperkte omvang
  • naam klasse omschrijft doel
  • klasse gemakkelijk te ordenen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Open/closed principle

A

Open for extension: een object moet uitbreiding toelaten
Closed for modification: het gedrag van een object mag niet wijzigbaar zijn

Aanwijzingen principe:

  • functionaliteit toegevoegd door nieuwe klassen
  • overerving
  • interfaces
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Liskov substitution principle

A

Een object moet altijd vervangen kunnen worden door een meer gespecialiseerd object.

verzekerd bij overerving wanneer interface correct gebruikt

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

Interface segregation principle

A

Een object mag niet afhankelijk zijn van methodes die het niet gebruikt (heeft dus enkel methodes die het echt nodig heeft).

Aanwijzingen principe:
* veel kleine interfaces ipv enkele uitgebreide interfaces

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

Dependency inversion principle

A

High-level modules mogen niet van low-level modules
afhankelijk zijn, maar moeten afhankelijk zijn van abstracties.

Abstracties mogen niet van details afhankelijk zijn. Details
moeten afhankelijk zijn van abstracties.

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