Jeśli natomiast zmienna składowa będzie prywatna, to można utworzyć dla niej funkcje dostępowe. Funkcje te mogą ograniczyć to, jak i kiedy modyfikuje się zmienne. We fragmencie „Po” zmienne są tylko do odczytu. Funkcje na zewnątrz klasy mogą je odczytać, ale nie mogą ich zmienić. Jest możliwe również utworzenie funkcji modyfikujących wartości zmiennych i przeprowadzających testy poprawności lub inne działania na wartościach. Użycie takich funkcji gwarantuje, że klasa będzie zawsze wiedziała o zmianach wartości i będzie mogła odpowiednio na to reagować.
Ważniejsze jest to, że utworzenie prywatnych zmiennych składowych umożliwia kapsułkowanie. Ukrywając wewnętrzne elementy chroni się implementację przed użytkownikami klasy. Dostępny jest interfejs — dzięki metodom publicznym — ale nie implementacja. Wewnętrzne elementy klasy można zmienić wtedy w dowolnej chwili. Innymi słowy, metody publiczne stanowią kierownicę i pedał przyspieszenia — te elementy są dla użytkowników. Zmienne składowe i wszystkie funkcje prywatne są odpowiednikiem elementów pod maską samochodu, które sprawiają, że kierownica działa prawidłowo. Kierowca nie powinien grzebać w silniku samochodu, nie mając o nim zielonego pojęcia. Nie chcielibyśmy również, żeby użytkownicy klasy grzebali wewnątrz klasy.
)
pisanie czytelnego kodu
Przed
public:
~LicznikOdwołań()
return nowy LicznikOdwołań;
};
Po