Skip to main content

Co to jest niezmienni klasa?

W programowaniu i projektowaniu komputerowym zorientowanym na obiekty niezmiennik klasy to zestaw reguł, które można użyć do określenia, czy instancja obiektowa istnieje w prawidłowym stanie.Z perspektywy projektowania niezmiennik klasy to zestaw granic, między którymi dane w obiekcie muszą być rozpatrzone w odpowiednim, funkcjonalnym stanie.Niezmiennik klasy można zdefiniować w dokumentacji projektowej lub komentarzach kodu źródłowego lub, w niektórych językach programowania, można bezpośrednio zaimplementować w kodzie komputerowym.Program, który korzysta z zakodowanych niezmienników i twierdzeń, może spowodować, że program zaprzestanie wykonywania lub rzucania różnych błędów, gdy nie są spełnione niezmienne warunki.W przeciwieństwie do standardowego sprawdzania błędów, niezmienności klas są zwykle używane wyłącznie w celu zapewnienia, że wewnętrzna implementacja klasy działa i zwykle nie są wymienione w dokumentacji publicznej lub interfejsach programowania.

Z bardzo podstawowego poziomu niezmienna klasa niezmiennaZasadniczo jest zbiorem twierdzeń dla klasy.Stwierdzenie, ponownie w prostych słowach, jest stwierdzeniem, które sprawdza część stanu klasy i musi oceniać do realizacji programu, aby kontynuować.Jednym z przykładów stwierdzenia jest stwierdzenie, które zapewnia, że dana liczba całkowita jest zawsze od 1 do 10. Gdy używany jest niezmiennik klasy, stwierdzenia są oceniane dla wszystkich odpowiednich części danych posiadanych przez obiekt, zasadniczo sprawdzając, czy wszystkie dane wObiekt znajduje się w określonych zakresach.

W wielu przypadkach, przy użyciu niezmiennika klasy silnie przypomina standardowe sprawdzanie błędów, w których zmienne są mierzone, aby upewnić się, że znajdują się w użytecznych granicach lub nie są zerowe.Różnica między stosowaniem niezmienników klasowych a standardowym sprawdzaniem błędów polega jednak na tym, że niezmienności i twierdzenia są głównie używane do przechwytywania błędów, które nie powinny wystąpić, chyba że w kodzie występuje wewnętrzna wada.Inna różnica polega na tym, że standardowe sprawdzanie błędów ma tendencję do regeneracji i zmian przepływu kontroli programu, podczas gdy wynikiem niezmiennego awarii powinien być zakończenie programu.Powodem, dla którego większość programów kończy się, gdy niepowiada się kontrola niezmienna klasy, jest to, że obiekt jest w stanie zagrożonym i nie jest w stanie, w celu spełnienia jego warunków wstępnych i po warunkach niezbędnych do przestrzegania jej umowy projektowej.

Jeden zWłaściwości klas niezmiennych w obiektowych językach programowania, w których są niejawnie zdefiniowane, to to, że niezmiennik jest mechanizmem odziedziczonym przez dowolne podklasy.Zapobiega to zastępowaniu podklasy wszelkich niezmiennych kontroli wykonywanych w klasie nadrzędnej.Ostatecznie oznacza to, że podklasa nie jest w stanie złamać umowy projektowej ustalonej przez nadklasę, co może powodować nieprzewidywalne wyniki lub trudne do znalezienia błędy programu.