Spisu treści:
Definicja - Co oznacza obiekt?
Obiekt, w języku C #, jest instancją klasy tworzonej dynamicznie. Obiekt jest również słowem kluczowym, które jest aliasem dla predefiniowanego typu System.Object w środowisku .NET.
Zunifikowany system typów języka C # umożliwia definiowanie obiektów. Mogą być zdefiniowane przez użytkownika, referencyjne lub typu wartości, ale wszystkie dziedziczą bezpośrednio lub pośrednio z System.Object. Dziedziczenie to jest niejawne, więc typ obiektu nie musi być deklarowany w System.Object jako klasie bazowej.
Zasadniczo typ obiektu jest przydatny, gdy istnieje potrzeba zbudowania ogólnych procedur. Ponieważ wartości dowolnego typu można przypisać do zmiennych typu obiektowego, typ obiektowy jest wykorzystywany głównie w projektowaniu klas, które obsługują obiekty dowolnego typu, które pozwalają na ponowne użycie kodu. Nieogólne klasy kolekcji w bibliotece .NET Framework, takie jak ArrayList, Queue itp., Używają typu obiektu do definiowania różnych kolekcji.
Obiekt jest również znany jako instancja.
Techopedia wyjaśnia Object
Obiekt składa się z elementów instancji, których wartość czyni go unikalnym w podobnym zestawie obiektów.
Wszystkie obiekty użyte w kodzie C # są typu obiektowego.
Kiedy obiekt jest tworzony, jest on przydzielany z blokiem pamięci i konfigurowany zgodnie ze schematem dostarczonym przez klasę leżącą u podstaw obiektu. Obiekty typu wartości są przechowywane na stosie, a obiekty typu referencyjnego są przydzielane na stercie.
Ponieważ wykonywanie kodu C # odbywa się w środowisku zarządzanym platformy .NET, w którym moduł czyszczenia pamięci zapewnia automatyczne odzyskiwanie pamięci, nie jest konieczne ani możliwe jawne anulowanie przydziału pamięci przydzielonej obiektom. Obiekty typu wartości są niszczone, gdy wykraczają poza zakres, natomiast obiekty typu odniesienia są niszczone w sposób niedeterministyczny, dopóki nie zostanie usunięte ostatnie odniesienie do nich.
Dwie operacje związane z obiektami utworzonymi w C # to boksowanie i rozpakowywanie. Podczas gdy boks oznacza konwersję typu wartości na obiekt, rozpakowanie odnosi się do konwersji z obiektu na typ wartości. Należy ostrożnie korzystać z operacji bokowania i rozpakowywania, ponieważ mogą one obniżyć wydajność.
Ta definicja została napisana w kontekście C #