Synchronisation and Data encapsulation

Data hiding, ofwel het verstoppen van gegevens, is een belangrijk hulpmiddel voor het maken van betrouwbare software. Door te zorgen dat andere classes van buiten af niet rechtstreeks bij de variabelen in jouw class kunnen voorkom je dat ze van jouw class een puinhoop kunnen maken.

Maar hoezo puinhoop ? Je mag toch gewoon een variabelen een andere waarde geven ? Ja, dat mag wel, maar als je programma wat groter wordt en van diverse kanten met jouw variabelen gerommeld wordt kunnen er dingen mis gaan. Kijk maar eens naar het volgende voorbeeld.

T
I
J
D

|
|
v
Bank verwerkt een gift van oma Pinautomaat
Lees saldo: 1000 -
- Lees saldo: 1000
Tel 50 op bij saldo, tussenresultaat: 1050 -
- Trek 20 af van saldo, tussenresultaat: 980
Schrijf nieuw saldo: 1050 -
- Schrijf nieuw saldo: 980
Resultaat: 980 Euro

Waar zijn nou die 50 Eurootjes van oma ?

Die zijn verdwenen omdat twee processen onafhankelijk met jouw banksaldo bezig waren.