Encapsulation C # Neuling
Neu in C #, und ich verstehe, dass die Kapselung nur ein Weg zum "Schützen von Daten" ist. Aber ich bin immer noch unklar. Ich dachte, dass diePunkt von get- und set-Zugriffsmethoden mussten Tests innerhalb dieser Methoden hinzufügen, um zu überprüfen, ob Parameter bestimmte Kriterien erfüllen, bevor eine externe Funktion etwas wie das folgende abrufen und festlegen kann:
private string myName;
public string MyName;// this is a property, speical to c#, which sets the backing field.
private string myName = "mary";// the backing field.
public string MyName // this is a property, which sets/gets the backing field.
{
get
{
return myName;
}
set
{
if (value != "Silly Woman"){
myName = value;
}
}
}
Aber ich habe Code in c # gesehen, der einfach so aussieht:
public string MyName { get; set; }
Warum sollten Sie nur ein Get-and-Set mit nichts drin haben - ist das nicht das Gleiche, als würden Sie Ihr privates Backing-Feld für öffentlich erklären? Wenn Sie es nur von außen bekommen und einstellen können, warum würden Sie es dann nicht direkt tun?