Ok, questa domanda è stata fatta prima, ma non è ancora chiara per me. Cos'è esattamente lo stato interno?
Lo stato finora mi è chiaro: Le funzioni contengono comportamenti, variabili hanno stato, valori no. Di solito, lo stato indica che il valore corrente o i dati, come le variabili, contengono semplicemente, se ho ragione. Cambiando i loro valori, cambi il loro stato (se questo non è corretto, fammi sapere:)).
Ma lo stato interno non mi è molto chiaro, mi sembra quasi che le persone stiano mescolando classi e oggetti: link
E anche questa definizione non è chiara al 100%: link
Quindi gli oggetti contengono lo stato interno, ho ragione? Quindi lo stato dell'oggetto è in realtà lo stato interno? Quindi se ho una classe:
class Foo {
public $aMemberVar = 'aMemberVar Member Variable';
public $aFuncName = 'aMemberFunc';
function aMemberFunc() {
print 'Inside 'aMemberFunc()'';
}
}
E creo un oggetto:
$foo = new Foo;
Lo stato interno degli oggetti è costituito dai valori $aMemberVar
e $aFuncName
?? E lo stato interno può cambiare, ad esempio cambiando:
$foo->aMemberVar = 'new value';
Ma per essere chiari, lo stato interno include anche variabili private? Non puoi cambiarli, ma fanno parte dello stato interno?
Ho capito bene o frainteso qualcosa? Sono abbastanza confuso perché dovrei chiamarlo stato interno se di solito è solo lo stato ...