Laden...

Fragen zu Lese- und schreibgeschützte Eigenschaften!

Erstellt von dcc.marx vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.056 Views
Thema geschlossen
D
dcc.marx Themenstarter:in
1 Beiträge seit 2012
vor 12 Jahren
Fragen zu Lese- und schreibgeschützte Eigenschaften!

Hallo zusammen,

hab mich gerade erst angemeldet und bin auch erst beim erlernen von C#.
Aber habe schon die erste frage die ich mir stelle worauf ich auch keine Antwort finden konnte.

Ich Lese mir zur zeit das OpenBook von Galileo durch, und bin bei 3.7 Objekteigenschaften gelandet. Wo ich mir die frage stelle, wofür brauch man
Lese- und schreibgeschützte Eigenschaften?

Der Benutzer eines Programms kann ja eh nur das machen was der Programmierer vorgesehen hat, und nicht beim Ablauf des Programmes irgend ein beliebiges Objekt überschreiben oder irre ich mich da?

Hoffe ich werde von jemanden verstanden ist ja auch schon ziemlich spät 😉
Vielleicht könnte mir ja jemand ein einfaches beispiel nennen wofür so etwas gut ist!

Danke schon mal im voraus.

1.002 Beiträge seit 2007
vor 12 Jahren

Hallo dcc.marx,

herzlich Willkommen auf myCSharp.de!

Lese- und schreibgeschützte Eigenschaften existieren, um den Zugriff von Benutzern (Programmierern, nicht Endnutzern!) einer Klasse einschränken zu können. So kann es zum Beispiel sinnvoll sein, nach dem Instantiieren einer Klasse deren Eigenschaften lesen zu können, aber nicht – oder zumindest nicht von außerhalb der Klasse heraus – verändern zu können.

In anderen Fällen macht es keinen Sinn, eine Eigenschaft überhaupt schreibbar zu machen. Das ist zum Beispiel der Fall, wenn diese lediglich etwas berechnet:

public class SalaryCalculator
{
    public double HourlyPay { get; set; }
    public double HoursWorked { get; set; }

    public double SalaryPayment
    {
        get { return HourlyPay * HoursWorked; }
    }
}

SalaryPayment hätte auch folgendermaßen als Methode implementiert werden können:

public double CalculateSalaryPayment()
{
    return HourlyPay * HoursWorked;
}

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

Hinweis von herbivore vor 12 Jahren

Das wird allerdings auch in jedem guten C# Buch erklärt. Bitte beachte daher [Hinweis] Wie poste ich richtig? Punkt 1.1.1 und 1.1.

Thema geschlossen