Czym jest klasa?
What is a Class?
Potraktuj klasę (Class) po prostu jako listę rozwijaną. W najprostszej postaci klasę definiujesz, określając wartości listy rozwijanej. Możesz jednak opcjonalnie dodać do klasy właściwości (Properties) i zmieniać ich wartości dla każdej pozycji listy rozwijanej. Byłaby to bardziej złożona klasa.
Na najwyższym poziomie klasa to połączenie wartości listy rozwijanej (instancji, Instances) oraz zera lub większej liczby właściwości, które razem tworzą logiczne odwzorowanie jakiegoś obiektu. Klasę możesz traktować jako hierarchię obiektu, a instancję (Instance) jako jeden konkretny przykład tego obiektu ze świata rzeczywistego.
Możesz mieć klasę o nazwie Pies z właściwościami takimi jak „Średnia długość życia”, „Średnia waga”, „Kraj pochodzenia”. Instancjami tej klasy, które wypełnią listę rozwijaną, byłyby „Dalmatyńczyk”, „Corgi”, „Pudel”, z których każda ma własne wartości wymienionych wyżej właściwości.
Bardziej realistycznie, dla Twojego przepływu pracy możesz mieć klasę o nazwie Pracownik z różnymi właściwościami:

Dla celów poglądowych pokazujemy klasę „Stanowisko” (Job) jako klasę, ale do definicji klas można dodawać tylko właściwości. W takim przypadku utworzyłbyś właściwość zależną od danych (Data Driven) o nazwie „Stanowisko”, powiązałbyś ją z utworzoną wcześniej klasą „Stanowisko”, a następnie dodałbyś właściwość „Stanowisko” zamiast klasy „Stanowisko”.
Do czego służą klasy?
Dział zatytułowany „Do czego służą klasy?”Klasy mają kilka podstawowych zastosowań i możesz używać ich do jednego z nich lub do wszystkich:
-
Ujmowanie złożoności — klasy pozwalają łączyć właściwości w uporządkowany sposób, aby odwzorować pojęcia bardziej złożone, niż mogłaby ująć pojedyncza właściwość.
-
Uporządkowane wprowadzanie danych — gdy właściwość jest typu „Zależny od danych” (Data Driven), wybierasz klasę, z której pobierane są dane. Dostępne dane to instancje klasy. W praktyce oznacza to, że po kliknięciu właściwości na karcie danych widzisz listę rozwijaną i możesz wybrać jedną z dostępnych wartości. Zapobiega to powstawaniu błędnych danych — na przykład sytuacji, w której połowa firmy wpisuje „Texas”, a połowa „TX”.
-
Łatwość wprowadzania zmian — właściwości zależne od danych pobierają dane z instancji klasy. Oznacza to, że możesz zmienić dane w jednym miejscu, a zmiana zostanie przeniesiona wszędzie, gdzie są używane. Na przykład jeśli masz właściwość wprowadzaną przez użytkownika (User-Input) o nazwie „Stan” i wszyscy wpisują „Texas”, ale później zdecydujesz, że stany mają być reprezentowane przez kody stanów (np. „TX”), musisz ręcznie zmodyfikować właściwości wprowadzane przez użytkownika w każdym pojedynczym pliku części. Jeśli natomiast utworzysz klasę o nazwie „Stan”, użytkownicy będą wybierać „Texas” z listy rozwijanej. Później możesz zmodyfikować dane instancji i zmienić „Texas” na „TX”, a zmiana zostanie automatycznie przeniesiona do wszystkich części.
Oryginał: What is a Class?