Ecco un esempio di come legare i lacci per le scarpe in OO:
Esiste una classe PairOfShoelaces . È responsabile del collegamento di se stesso, quindi ha bisogno di un riferimento a una classe PairOfHands che può essere utilizzata per aiutarlo a farlo.
Ora potresti avere una funzione in PairOfShoeLaces chiamata tieABowInYourself e potrebbe prendere un'istanza di PairOfHands come parametro:
function tieABowInYourself(PairOfHands hands) ...
Ma ciò significa che la cosa che chiama tieABowInYourself deve avere un paio di mani attorno alle quali può fornire come parametro. Invece, una variabile di istanza può essere utilizzata per salvare quelle mani all'interno di un'istanza di PairOfShoeLaces . In questo modo la funzione può essere:
constructor(PairOfHands hands)
{
this.hands = hands;
}
function tieABowInYourself()
{
// use this.hands to help tie that bow
}
In questo modo, solo la cosa che crea PairOfShoelaces ha bisogno di sapere delle mani.
E questo è ciò per cui sono usate le variabili di istanza.