• Przejdź do głównej nawigacji
  • Przejdź do treści
  • Przejdź do głównego paska bocznego
  • Przejdź do stopki
Testelka.pl

Testelka.pl

Testelka.pl - o technologiach w testowaniu oprogramowania

  • Kursy
    • DARMOWY: Java dla testerów
    • Selenium w Javie
    • Selenium w C#
    • Testy API w REST Assured
    • Selektory CSS
    • XPath
  • Materiały na raz
  • Blog
  • O Eli
  • Zaloguj się
  • DOŁĄCZ

Java dla Testerów 16. Gettery i settery: typy proste i String

Strona główna > Kursy > Java dla testerów > Java dla Testerów 16. Gettery i settery: typy proste i String

Oprócz tego kursu na Testelce znajdziesz też: kurs Selenium w Javie, kurs Selenium w C#, kurs testowania API w REST Assured. W tych kursach jest też zapewnione wsparcie merytoryczne - jeżeli coś jest niejasne możesz zapytać pod lekcją. Dostęp do tych kursów możesz uzyskać w ramach członkostwa.

SPRAWDŹ RODZAJE CZŁONKOSTWA

Gettery i settery są metodami pozwalającymi na pobranie lub zmianę wartości prywatnego pola klasy z zewnątrz. Dzisiaj zobaczysz jak tworzyć gettery i settery i zobaczysz ich działanie na przykładzie typów prostych oraz tekstu czyli obiektów klasy String.

Chcesz takich filmów więcej? Zasubskrybuj mój kanał!

Gettery i settery – linki i materiały

W poprzedniej lekcji wspominałam o hermetyzacji (inaczej enkapsulacji), które jest jednym z założeń programowania obiektowego. Polega na tym, że staramy się ukrywać metody, pola klasy i np. konstruktory klasy przed innymi klasami i udostępniać je tylko wtedy, kiedy wyraźnie i świadomie tego chcemy. Z tego powodu nie ustawiamy wszystkich metod i pól w klasie na public. Właściwie wszystko powinno być prywatne, dopóki wyraźnie nie powiemy, że w danym przypadku chcemy innej widoczności.

Gettery i settery a hermetyzacja

Można powiedzieć, że gettery i settery w pewien sposób realizują wspomniane wyżej założenie. Pola klasy powinniśmy ustawiać na prywatne i dopiero w razie konieczności udostępniać pobieranie wartości pola albo jego ustawianie za pomocą konkretnych metod. Tymi metodami są właśnie wspomniane gettery (akcesory) i settery (mutatory). Możemy zdecydować się tylko na jedną z tych metod, np. tylko na gettera. W takim wypadku będziemy mogli pobrać z zewnątrz wartość pola ale ze względu na brak settera, nie będziemy mogli zmienić jego wartości. Takiego efektu nie udało by się nam uzyskać zwykłym modyfikatorem dostępu na polu. Modyfikator dostępu dla pola dotyczył by zarówno operacji pobrania wartości pola jak i jego zmiany.

Getter

Getter to metoda, która umożliwia pobranie wartości prywatnego pola z zewnątrz. Popatrz na poniższą klasę Customer.

public class Customer {

    private String name;
    private String lastName;
    private int age;

    public int getAge() {
        return age;
    }
}

Ta klasa ma same prywatne pola i jedną metodę: getAge(). Metoda ta jest publiczna i nie robi nic więcej jak zwraca wartość prywatnego pola. Dzięki tej metodzie możemy się dobrać do wartości tego pola z innej klasy mimo, że to pole jest prywatne.

public class Tests {
    @Test
    public void gettersAndSettersTest(){
        Customer customer = new Customer();
        int age = customer.getAge();
    }
}

Getter zawsze będzie coś zwracał, więc musimy pamiętać, żeby przed nazwą tej metody podać typ zwracany.

Setter

Setter to metoda, która pozwala na zmianę wartości prywatnego pola klasy z zewnątrz tej klasy. Po dodaniu settera do naszej klasy wygląda ona tak:

public class Customer {

    private String name;
    private String lastName;
    private int age;

    public void setAge(int ageParameter) {        
        age = ageParameter;
    }

    public int getAge() {
        return age;
    }
}

Ta metoda ustawia wartość, a więc nie ma typu zwracanego, zamiast tego podajemy słówko void. Musimy natomiast dodać w tej metodzie parametr, a wewnątrz metody przekazać go do naszego pola. W ten sposób dokonamy zmiany wartości pola. Użycie takiej metody może wyglądać jak poniżej:

public class Tests {
    @Test
    public void gettersAndSettersTest(){
        Customer customer = new Customer();
        int age = 15;
        customer.setAge(age);        
        System.out.println(customer.getAge());
    }
}

Dodatkowe operacje

W getterach i setterach możemy dorzucić coś ekstra. Czyli metody te mogą robić coś więcej niż jedynie przypisywać nową wartość polu i pobierać wartość tego pola. Na filmie pokazuję na przykład jak dodać walidację w setterze na przykładzie wieku, który nie może być ujemny. Pokazuję także gettera, który modyfikuje wartość przed jej zwróceniem.

 

Pierwszy Sidebar

LEKCJE W KURSIE

  • Error:java: error: release version 5 not supported
  • Zmienne i typy proste
  • Zmienne i klasa String
  • Operatory matematyczne
  • Operatory relacyjne i logiczne oraz konkatenacja
  • Tablice jedno i wielowymiarowe
  • Metody w Javie
  • Instrukcje warunkowe
  • Pętle while i do while
  • Pętle for i foreach
  • Zakres widoczności zmiennych
  • Klasa w Javie, obiekty i pola klasy
  • Konstruktory
  • Typy referencyjne
  • Dziedziczenie
  • Modyfikatory dostępu
  • Gettery i settery: typy proste i String
  • Gettery i settery: typy referencyjne
  • Słowo kluczowe this
  • Słowo kluczowe super

Footer

Elzbieta Natalia Sadel
Calle Marzo 9 1 D
41009 Sevilla
Hiszpania
NIF: Y7882076J

Zostań trenerem!

Regulamin
Polityka prywatności
Polityka wsparcia w ramach członkostwa

Koszulki i torby dla testerów

Pomoc
Kontakt

Poskładane z 💛 przez Automatela.pl

Ta strona korzysta z ciasteczek aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie.ZgodaNie wyrażam zgodyPolityka prywatności