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.