Cos'è lo stato interno e c'è una differenza tra stato e stato interno

3

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 ...

    
posta Erik van de Ven 17.11.2015 - 10:40
fonte

1 risposta

4

Lo stato interno ha principalmente senso come termine per differenziare dallo stato visibile esternamente (e possibilmente direttamente modificabile).

Altrimenti lo stato è stato. Non preoccuparti di dire interno a meno che non sia necessario differenziare dall'esterno. Se dici semplicemente "stato", implica tutte le informazioni sullo stato a meno che non lo rendiate più specifico attraverso il contesto.

Linux ha un sacco di stato interno che non condivide con gli utenti. Ma puoi vedere una rappresentazione esterna dello stato in strumenti come top o ps. Cercando un'analogia utile.

Sì, i membri privati (variabili, proprietà dipendono dalla lingua) sono parte dello stato, purché esista l'oggetto. Sono interni, ovviamente.

C'è un altro modo per usare il termine stato esterno, per rappresentare lo stato dell'ambiente in cui esiste l'oggetto o il sistema. Alcune persone lo usano in questo modo. Altre persone indicano solo lo stato dell'oggetto che è pubblico.

    
risposta data 17.11.2015 - 11:11
fonte

Leggi altre domande sui tag