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