Przejdź do treści
Strona główna » 1.4 Java Podstawy, Definiowanie własnych klas 2 | Java

1.4 Java Podstawy, Definiowanie własnych klas 2 | Java

  • przez
java podstawy

Spis treści

  1. Hermetyzacja klas
  2. Kwantyfikatory dostępu w klasie java
  3. Metody statyczne

Hermetyzacja klas | Java

Przypomnijmy przykład klasy z poprzedniego wpisu o Java.

Co oznacza public przy nazwie klasy ? Już o tym pisaliśmy. To kwantyfikator dostępu mówiący, że ta klasa jest widoczna w całym projekcie Java. Dlaczego więc pola składowe również nie są public ? Czemu nie pozwalamy na ich bezpośrednia edycje ?

To właśnie gwarantuje nam podstawową hermetyzację klas. To może być bardzo uciążliwe, gdy wiele klas jest w stanie w wielu miejscach zmieniać nasze pola składowe. Najczęściej w java, pola składowe są prywatne, a możliwość pobrania tego pola jest przez metodę zwaną getterem w Java.

java getter

Te metody zwane getterami pozwalają nam pobrać wartości obiektów. Co warto zauważać, nasza klasa nie ma żadnej settera, która umożliwi nam nadanie wartości naszym polom składowym. Te wartości można nadać jedynie w konstruktorze. W związku z tym pola naszej klasy BmwX1 można nadać tylko i wyłącznie 1 raz podczas tworzenia obiektu, a potem można tylko pobrać zawartość pół. To jest właśnie dobra hermetyzacja klasa wymagana w OOP – Object oriented programming. Gdy mamy duże projekty i wiele osób może potrzebować naszych klas, niech wszyscy używają getterów i nie wpływają na stan naszego obiektu. W ten sposób zapewniamy obiektowi większe bezpieczeństwo nad niechcianymi, niepożądanymi zmianami.

Kwantyfikatory dostępu w klasie java

Jak już sobie wspomnieliśmy, mamy 4 główne kwantyfikatory dostępu.

  • public
  • protected
  • private
  • (package) domyślny, aktywny gdy nie wpiszemy żadnego

Klasa nie może być protected. Ten typ jest dostępny dla pół i metod, ponieważ jest związany z dziedziczeniem pól i metod.
Metoda i pole może mieć wszystkie dostępne kwantyfikatory dostępu.

Zaleca się, aby metody które wykonują mniejsze zadania stricte dla klasy były private. Natomiast metody publiczne, wykorzystywały metody prywatne, pomocnicze. Metody publiczne będą widoczne w całym projekcie, więc trzeba je pisać rozważnie i koniecznie muszą posiadać odpowiednie testy np. w junit, o czym później.

Kwantyfikator protected to widoczność danej metody lub pola w zakresie hierarchii dziedziczenia. O tym będzie trochę wpisów później.

Metody statyczne

Nasze metody gettery są metodami dynamicznymi. To znaczy, że każda nowa instancja obiektu BmwX1, ma swoje własne metody. Istnieje też słowo kluczowe static w java, stosowanie w metodach, polach i klasach.

Gdy stosujemy np. nad metodą static, to znaczy, że dla wszystkich instancji obiektów będzie jedna i ta sama, statyczna metoda, którą zdefiniujemy.
Metody statyczne mogą wykorzystywać pola statyczne, nie mogę wykorzystywać dynamicznych zmiennych klasy.

Klasa też może być statyczna. Wtedy wówczas nie tworzymy instancji obiektu, że skorzystać z klasy. Przykładem metody statycznej jest np.
LocalDate.now(). Czas aktualny zawsze będzie liczony tak samo, metoda statyczna wówczas tutaj ma jak najbardziej zastosowanie.

W kolejnych wpisach będziemy dalej omawiać Klasy i dalsza cześć Java.

Zachęcamy do zakupu całego kurs java

Pozdrawiamy,
Zespół Great

Pomocne linki:
Calculations

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *