Programowanie przy użyciu ziaren w języku Java

W podręcznikach do nauki programowania w Javie, terminem ziarna (lub ziarnka1) określa się klasę, która ma metody nazywane według ustalonego wzorca.

Dla przykładu, jeśli chcemy zbudować system do obsługi uczniów w szkole, na pewno jednym z obiektów w takim systemie będzie uczeń, który ma pewne cechy własne jak imię i nazwisko, jak też możemy przypisać go do określonej klasy. Znamy również jego ocenę średnią na koniec półrocza. W szkole uczy się wielu uczniów, dlatego obiekt ucznia tworzony będzie według szablonu, czyli klasy.

Aby utworzyć klasę ziarna, oprócz prywatnych pól przechowujących dane, należy zdefiniować metody dostępowe (gettery) oraz metody ustawiające (settery). Klasa ziarna powinna zawierać również domyślny konstruktor, czyli konstruktor bezparametrowy.

Przykładowy kod realizujący powyższe wymagania może mieć następującą postać.

package szkola;

public class Uczen {

	private double srednia;
	private String imie;
	private String nazwisko;
	private String klasa;

	public Uczen() {
	}

	public double getSrednia() {
		return srednia;
	}

	public void setSrednia(double srednia) {
		this.srednia = srednia;
	}

	public String getImie() {
		return imie;
	}

	public void setImie(String imie) {
		this.imie = imie;
	}

	public String getNazwisko() {
		return nazwisko;
	}

	public void setNazwisko(String nazwisko) {
		this.nazwisko = nazwisko;
	}

	public String getKlasa() {
		return klasa;
	}

	public void setKlasa(String klasa) {
		this.klasa = klasa;
	}

}

Możemy spotkać się w większych systemach z konwencją nazewniczą, w której dodaje się słowo Bean w nazwie klasy. Inną często wymaganą cechą obiektów czy komponentów, programistycznych jest możliwość zapisywania ich stanu na dysku oraz przesyłanie w postaci strumienia bajtów przez sieć. Do tego celu służy serializacja.

W naszym przykładzie zostawimy nazwę klasy ziarna tak jak jest, zostając również przy stosowaniu polsko brzmiących nazw pól klasy oraz metod. Zauważmy, że zarówno metody dostępowe jak i ustawiające stosują swój wzorzec nazewniczy polegający na dodaniu odpowiednio przedrostka get dla metody odczytującej wartość pola i przedrostka set dla metody ustawiającej wartość pola.

  1. Horstmann, Cornell, Java Techniki zaawansowane; wyd. IX. Prentice Hall (2013), Helion (2014), tłumaczenie Jaromir Senczyk. ↩︎