Moja klasa wygląda tak:
class Punkt
{
private int x;
private const int MaxValueX = 99;
public int X
{
get
{
return x;
}
set
{
if (value <= MaxValueX)
x = value;
}
}
public int Y { get; set; } = 1;
public Punkt(int x, int y)
{
X = x;
Y = y;
}
}
Mam do niej dwa pytania:
- Czy jest jakiś sposób, abym sam sobie ograniczył dostęp bezpośrednio do zmiennej x wewnątrz klasy? Chodzi o to, że skoro mam właściwość X, która ma określony setter, to chciałbym NIE MÓC (w tym wypadku) bezpośrednio ustawiać wartości zmiennej x. Tymczasem w konstruktorze mogłem sobie spokojnie napisać this.x = x i w ten sposób pominął bym setter.
- Czy to w ogóle sensownie wygląda, jeśli w przypadku właściwości X używam zmiennej x, a w przypadku Y idę na skróty? Czy nie powinienem w tym wypadku zadeklarować zmiennej y dla uzyskania lepszej spójności?