C# , obiekt klasy Y daną składowa klasy X

0

Mam pytanie, załóżmy, że mamy klasę X oraz Y.

class X
{
        Y zmienna = new Y();
}

W książce do nauki C# często spotykam się z takim czymś jak na górze i mam pewien problem. Zastanawiam się czy taka inicjalizacja jest poprawna(skoro jest w książce więc jest, jednak dlaczego) Rozumiem taką inicjalizacje gdyby to była dana statyczna, stała, ale to jest zwykła dana nie związana z klasą więc dlaczego jest ona tak zrobiona? Wg. mnie powinno być jako dana składowa "Y zmienna", po czym w konstruktorze inicjalizacja "zmienna = new Y()" dopiero.

Jeżeli jest tak jak wyżej w tej książce na czym to polega, dla każdej instancji klasy X jest od razu alokowana instancja klasy Y ?

Zamotany jestem, mam nadzieję, że ktoś się znajdzie co mi to jakoś pomoże ułożyć w głowie :(

0

Kompilator i tak przekształci to tak, że to pole zostanie zainicjalizowane w konstruktorze. Taki zapis to po prostu skrócona wersja dla naszej wygody.

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