Proste klasy 91
Linia 58 zawiera definicję obiektu Frisky (będącego klasy Kot). Do konstruktora obiektu przekazywana jest wartość 5. Jak widać, nie musimy wywoływać funkcji UstawWiek(), ponieważ Frisky został stworzony od razu ze zmienną jegoWiek ustawioną na wartość 5 (widać to w linii 61). W linii 63 zmiennej jegoWiek nadawana jest wartość 7. Linia 65 wypisuje nową wartość zmiennej wewnętrznej.
W ciągu tej godziny nauczyłeś się, jak tworzyć nowe typy danych, a mianowicie klasy. Wiesz już jak zdefiniować zmienne nowego typu - obiekty.
Każda klasa posiada swoje elementy wewnętrzne, które, pod względem typów, mogą być bardzo różnorodne (mogąnp. być obiektami). Klasa może zawierać funkcje wewnętrzne - metody. Dzięki tym funkcjom możemy manipulować wartościami zmiennych wewnętrznych danej klasy.
Elementy klasy mogą być publiczne albo prywatne. Elementy publiczne są widoczne w każdym miejscu programu. Elementy prywatne są dostępne tylko z funkcji wewnętrznych danej klasy.
P: Jak duży jest obiekt danej klasy?
O: Rozmiar obiektu zależy od sumy rozmiarów zmiennych wewnętrznych danej klasy. Metody nie zajmują miejsca, stanowią część pamięci przeznaczonej do funkcjonowania obiektu.
Niektóre kompilatory stosują specyficzny sposób przechowywania zmiennych. W takim przypadku zmienne dwubajtowe mogą faktycznie zajmować więcej miejsca niż dwa bajty. Możesz sprawdzić w dokumentacji od swojego kompilatora, jak to jest zorganizowane u Ciebie. W tym miejscu nie będziemy się wdawać w szczegóły.
P: Dlaczego nie powinienem wszystkich elementów klasy deklarować jako publicznych?
O: Elementy prywatne zwalniają użytkownika klasy z zastanawiania się, jak dane są przechowywane. Przykładowo klasa Kot posiada metodę PobierzWiek (). Użytkownik klasy Kot może wykorzystać tę funkcję i nie musi wiedzieć, czy wiek jest przechowywany w zmiennej, czy jest wyliczany na bieżąco.
Linia 58 zawiera definicję obiektu Frislcy (będącego klasy Kot). Do konstruktora obiektu przekazywana jest wartość 5. Jak widać, nie musimy wywoływać funkcji UstawWiek (), ponieważ Frisky został stworzony od razu ze zmienną jegoWiek ustawioną na wartość 5 (widać to w linii 61). W linii 63 zmiennej jegoWiek nadawana jest wartość 7. Linia 65 wypisuje nową wartość zmiennej wewnętrznej.
W ciągu tej godziny nauczyłeś się, jak tworzyć nowe typy danych, a mianowicie klasy. Wiesz już jak zdefiniować zmienne nowego typu — obiekty.
Każda klasa posiada swoje elementy wewnętrzne, które, pod względem typów, mogą być bardzo różnorodne (mogą np. być obiektami). Klasa może zawierać funkcje wewnętrzne - metody. Dzięki tym funkcjom możemy manipulować wartościami zmiennych wewnętrznych danej klasy.
Elementy klasy mogą być publiczne albo prywatne. Elementy publiczne są widoczne w każdym miejscu programu. Elementy prywatne są dostępne tylko z funkcji wewnętrznych danej klasy.
P: Jak duży jest obiekt danej klasy?
O: Rozmiar obiektu zależy od sumy rozmiarów zmiennych wewnętrznych danej klasy. Metody nie zajmują miejsca, stanowią część pamięci przeznaczonej do funkcjonowania obiektu.
Niektóre kompilatory stosują specyficzny sposób przechowywania zmiennych. W takim przypadku zmienne dwubajtowe mogą faktycznie zajmować więcej miejsca niż dwa bajty. Możesz sprawdzić w dokumentacji od swojego kompilatora, jak to jest zorganizowane u Ciebie. W tym miejscu nie będziemy się wdawać w szczegóły.
P: Dlaczego nie powinienem wszystkich elementów klasy deklarować jako publicznych?
O: Elementy prywatne zwalniają użytkownika klasy z zastanawiania się, jak dane są przechowywane. Przykładowo klasa Kot posiada metodę PobierzWiek (). Użytkownik klasy Kot może wykorzystać tę funkcję i nie musi wiedzieć, czy wiek jest przechowywany w zmiennej, czy jest wyliczany na bieżąco.