Jakie są różnice pomiędzy klasą a strukturą?


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.

czerwo 04-10-2018 11:27
punk drugi "Struktury nie wspierają dziedziczenia." i "Po strukturach nie można dziedziczyć, po klasach można." to to samo :) 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." ta definicja pasuje bardziej do pytania " różnice pomiędzy typami prostymi i referencyjnymi


© 2024 - SkillsTest.pl | | Regulamin | Polityka Prywatnosci