Jak działa akcesor i mutator

0

Nie rozumiem jak działa akcesor i mutator:

 	private double promien = 1.0;
	
	public void setPromien(double r)
	{
		promien = r;
	}
	
	public double getPromien()
	{
		return promien;
	}
	public static void main(String[] args) 
	{
		DefiniowanieKlas kolo = new DefiniowanieKlas();

		kolo.setPromien(2.0);

		System.out.println(kolo.getPromien());

	}

Mutator działa tak, że w tej linii kodu

 kolo.setPromien(2.0);

zmieniam wartość pola promien tylko dla zmiennej kolo?
Jeżeli chodzi o akcesor to kompletnie nie rozumiem jego działania, może mi ktoś to wytłumaczyć prostym językiem?

0

Akcesor służy do zwrócenia wartości pola, natomiast mutator do modyfikacji wartości pola; Inne nazwy dla akcesora to getter lub metoda dostępowa, a dla mutatora odpowiednio setter lub metoda zmieniająca;

Po utworzeniu instancji klasy DefiniowanieKlas (nazwij to sensownie, najlepiej po angielsku) używasz mutatora do ustalenia wartości promienia (podając wartość 2.0), natomiast w następnej linijce używasz akcesora do pobrania wartości pola i wyświetlenia jej w konsoli.

0

@furious programming Rozumiem to co mi napisałeś ale nie rozumiem jak to przebiega, tak jak napisałeś to jest to dla mnie nauczenie się tego w sposób, że tak mam zawsze robić ale nie do końca to rozumieć.

Możesz to jakoś bardziej rozpisać?

0

W jakiej szkole uczą tak wybornego słownictwa jak 'akcesor' i 'mutator' ?

0

Mam Ci zastąpić kurs programowania? :]

Pole promien jest prywatnym polem klasy, więc nie jest widoczne poza jej obrębem; Aby umożliwić do niego dostęp, musisz napisać akcesor, czyli metodę zwracającą wartość pola; To samo z modyfikacją - aby umożliwić zmianę wartości pola, dodaje się mutator;

Dzięki tym metodom możesz nie tylko zwrócić wartość, ale także wykonać dodakowy kod, np. walidujący nową wartość lub pozyskujący wartość do zwrócenia;

Może najpierw poczytaj o hermetyzacji.

0

@furious programmings Nie rozumiem jak wygląda droga bitów ... Dlaczego bity reprezentujące wartość 2.0 są zwracane przez metodę getPromien?

Wszędzie gdzie szukam jest takie wyjaśnienie jak Ty podajesz, a chodzi mi o zrozumienie całego procesu.

5
    public double getPromien()
    {
        return promien; // <--- dlatego
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1