Co to jest klasa podstawowa?
Klasa podstawowa, zwana także nadklasą, jest obiektem komputerowym, który działa jako podstawa jednej lub więcej klas pochodnych. Każdy język komputerowy, który jest w stanie dziedziczyć, może utworzyć klasę podstawową. W zależności od ich precyzyjnego rodzaju klasy podstawowe mogą, ale nie muszą być zdolne do inicjalizacji - przypisywania wartości początkowej do obiektu - samodzielnie, ale zawsze nadają one jakąś wspólną funkcjonalność każdej klasie, która od nich dziedzicza. Nigdy nie ma limitu liczby klas pochodnych lub podklas, które mogą mieć klasy podstawowe, ale może istnieć limit, w zależności od języka komputerowego, do liczby klas podstawowych, jakie może mieć klasa pochodna. Mówi się, że języki, które pozwalają klasie pochodnej mieć tylko jedną bazę wymuszają pojedyncze dziedzictwo, podczas gdy te, które pozwalają klasie pochodnej mieć wiele klas podstawowych używa wielokrotnego dziedziczenia.
Klasy bazowe betonowe mogą być samodzielne; Oznacza to, że można wykonać obiekt typu klasy podstawowej. Jeśli przykład klasowyjest bazą dla klas pochodnej Przykład 2, obiekt typu przykład2 i obiekt typu można wykonać. Obiekt typu przykładu można wytworzyć tylko poprzez wyraźne wzywanie tego typu obiektu; Utworzenie obiektu typu przykład2 nie stanowi dodatkowego obiektu typu. W każdym przypadku tworzony typ obiektu buduje tylko instancję siebie.
NatomiastAbstrakcyjne klasy podstawowe nie mogą być same zainicjowane, co oznacza, że obiekt klasy podstawowej nie może być samodzielny. Jeśli klasa przykład3 jest abstrakcyjną bazą dla klas pochodnej przykładu, można wykonać tylko obiekt typu przykład4. Mimo że Type Exkuts4 zawiera dane z typu przykład3, próba wykonania obiektu wyłącznie typu przykład3 spowoduje błąd. Ta funkcjonalność może być czasami przydatna, szczególnie jeśli klasa przykład3 zawiera prywatne dane, które powinny być ściśle regulowane.
DEPENing w języku, w którym się pojawia, klasa podstawowa może mieć nieco inne zachowania i wyraźnie różne nazwy. W Java® klasy podstawowe są zawsze określane przez tę nazwę, podczas gdy w C ++, w zależności od ich struktury, można je nazwać klasami wirtualnymi. Różnice w nazwie i funkcjonalności, choć znaczące pod względem używanych języków komputerowych, nie oznaczają głównych różnic w zasadzie klas. Klasa podstawowa jest zawsze używana do kapsułkowania wspólnej funkcjonalności i danych dla jej pochodnych klas, niezależnie od języka.