może to przez późną porę, ale nie za bardzo rozumiem, co chcesz osiągnąć. chcesz zabronić zmieniania wartości zmiennej wiek poza klasą, czy chcesz kontrolować wpisywane przez użytkownika wartości?
jeśli to drugie, to zawsze możesz zrobić coś takiego:
Kod :
public class Program
{
static void Main(string[] args)
{
Osoba o = new Osoba();
o.Wiek = 15;
Console.WriteLine(o.Wiek);
o.Wiek = 160;
Console.WriteLine(o.Wiek);
Console.ReadLine();
}
}
class Osoba
{
private int wiek;
public int Wiek
{
get
{
return wiek;
}
set
{
if (value > 150) Console.WriteLine("Ludzie nie zyja tak dlugo, cos sciemniasz...");
else wiek = value;
}
}
}
wynikiem będzie:
Output napisał
15
Ludzie nie zyja tak dlugo, cos sciemniasz...
15
tak samo to (hermetyzacja) działa w każdym innym języku obiektowym, w c# jest to po prostu inaczej zapisane.
Zakładki