Unterschied zwischen Elementvariable und Elementeigenschaft?

Es gibt Situationen, in denen ich Member-Variablen am Anfang meiner Klasse deklariere und dann eine Eigenschaft deklariere, um auf diese Member-Variable zuzugreifen oder sie festzulegen. Ich frage mich jedoch, ob die Eigenschaft erforderlich ist, wenn nur von innen auf sie zugegriffen und gesetzt werden soll die Klasse und nirgendwo sonst. Was ist also der Vorteil, wenn Sie eine Eigenschaft verwenden, um auf eine Mitgliedsvariable zuzugreifen und diese festzulegen, anstatt sie direkt auf die Mitgliedsvariable selbst anzuwenden. Hier ist ein Beispiel:

public class Car
{

    int speed; //Is this sufficient enough if Car will only set and get it.

    public Car(int initialSpeed)
    {
        speed = initialSpeed;
    }

    //Is this actually necessary, is it only for setting and getting the member
        //variable or does it add some benefit to it, such as caching and if so,
        //how does caching work with properties.
    public int Speed 
    {
        get{return speed;}
        set{speed = value;}
    }

        //Which is better?
        public void MultiplySpeed(int multiply)
        {
            speed = speed * multiply; //Line 1
            this.Speed = this.Speed * multiply; //Line 2

            //Change speed value many times
            speed = speed + speed + speed;
            speed = speed * speed;
            speed = speed / 3;
            speed = speed - 4;

        }
}

Wenn ich oben nicht die Eigenschaft "Geschwindigkeit" habe, um die variable Geschwindigkeit festzulegen und abzurufen, und ich beschließe, "int speed" in "int spd" zu ändern, muss ich die Geschwindigkeit überall in "spd" ändern, wo sie verwendet wird Bei einer Eigenschaft wie "Speed" (Geschwindigkeit) zum Festlegen und Abrufen der Geschwindigkeit muss die Geschwindigkeit in "get" und "set" (Geschwindigkeit) der Eigenschaft nur in "spd" geändert werden this.Speed wird nicht brechen.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage