Qual è la differenza tra stato e campo? [chiuso]

2

È stato un altro nome per il campo o è qualcosa di diverso?

Ad esempio:

private int telNumber;

Posso dire su telNumber che si tratta di uno stato o è un campo?

    
posta Lamaasi 23.08.2013 - 18:00
fonte

3 risposte

6

Diciamo che ho la seguente classe:

public class Foo
{
    private int _bar;
    private string _baz;

    public Foo(int bar, string baz)
    {
        _bar = bar;
        _baz = baz;
    }

    public void ChangeBar(int newBar)
    {
        _bar = newBar;
    }
}

Posso creare un'istanza della classe in questo modo:

var myFoo = new Foo(3, "Qux");

I valori per _bar e _baz formano collettivamente lo stato di myFoo.

Se cambio _bar, in questo modo:

myFoo.ChangeBar(6);

Ciò significa che lo stato di myFoo è cambiato, perché uno o più campi è cambiato.

    
risposta data 23.08.2013 - 18:15
fonte
2

In parole semplici:

  • Nessun. Lo stato non è un altro nome per un campo.
  • Lo stato di un oggetto è la combinazione dei valori di tutti i suoi campi.
  • Se un campo viene modificato, si dice che lo stato dell'oggetto (nel suo complesso) è cambiato.
risposta data 23.08.2013 - 18:22
fonte
-2

Lo stato è più uno schema di utilizzo che un modo particolare per definire le proprietà di una classe. Considererei solo una parte variabile dello stato quando, secondo DoFactory,

Stato,

Consenti a [s] un oggetto di alterarne il comportamento quando il suo stato interno cambia. L'oggetto sembrerà cambiare la sua classe.

    
risposta data 23.08.2013 - 21:04
fonte

Leggi altre domande sui tag