Kategoria: C# Dodane przez marcin90

Jaka jest różnica pomiędzy klasą a strukturą?

1 odpowiedź

2 0 Dodane 10-06-2018 przez marcin90

Struktura to typ wartościowy - dane trzymane są na stosie, klasa to typ referencyjny - dane trzymane są na stercie.

Struktury nie wspierają dziedziczenia.

Struktury nie mogą mieć jawnie określonego konstruktora bez parametrów.

Struktury nie mają destruktorów.

Domyślnie wszystkie składowe struktury są publiczne natomiast wszystkie składowe klas są domyślnie prywatne.

Typy wartościowe - struktury - są zwalniane z pamięci od razu po wyjściu poza zasięg, obiekty klas są usuwane za pomocą garbage collector'a.

Gdy kopiujemy jedną strukturę do drugiej struktury, tworzona jest nowa struktura jako kopia, natomiast w przypadku kopiowania obiektów klas, kopiowane są jedynie referencje do obiektu na stercie.

Po strukturach nie można dziedziczyć, po klasach można.


Dodaj swoją wersję odpowiedzi

Dodajesz odpowiedź jako gość. Zaloguj się się by uzyskać dostęp do rankingu oraz powiadomień.