Witam. Uczę się dopiero programowania. Czy może mi ktoś podpowiedzieć dlaczego w głownej metodzie klasy Program moge zmienić prywatna zmienną ( p[1].dl = 4)?
class Prostopadloscian
{
double dl;
double szer;
double wys;
public Prostopadloscian(double d, double s, double w)
{
dl = d;
szer = s;
wys = w;
}
public double Objetosc()
{
return dl * szer * wys;
}
static public void Porownanie(Prostopadloscian[] p)
{
if (p[0].Objetosc() == p[1].Objetosc())
Console.WriteLine("rowne sa");
else
Console.WriteLine("nie sa rowne");
}
class Program
{
static void Main(string[] args)
{
Prostopadloscian[] p = new Prostopadloscian[2];
p[0] = new Prostopadloscian(7, 5, 3);
p[1] = new Prostopadloscian(8, 5, 3);
p[1].dl = 4;// moim zdaniem powinno wyrzucić błąd dostępu do prywatnej zmiennej!!!
Console.WriteLine(p[0].Objetosc());
Console.WriteLine(p[1].Objetosc());
Prostopadloscian.Porownanie(p);
Console.ReadKey();
}
}
}