SkillsTest.pl C# pytania i zadania rekrutacyjne Jaka jest różnica pomiędzy klasą a strukturą?

: 2018-01-12 | Nr 14 z 51

Pytanie

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

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.

Polecamy

Na co możesz wydać swoje 15k?

Zabawki dla dwulatka