dostęp do prywatnych zmiennych

0

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();
        }
    }
}
1

Chyba masz klasę w klasie.

0

dzięki bardzo

1 użytkowników online, w tym zalogowanych: 0, gości: 1