Projektowanie i tworzenie obiektów

Jeśli nie znasz obiektów, najprawdopodobniej będziesz przyzwyczajony do tworzenia programów Java przy użyciu tylko jednego pliku - głównego pliku Java. Jest to klasa, w której zdefiniowano główną metodę punktu początkowego programu Java.

Definicja klasy w następnym kroku musi zostać zapisana w osobnym pliku. Jest zgodny z tymi samymi wytycznymi nazewnictwa, jakie były używane dla głównego pliku klasy (tzn. Nazwa pliku musi być zgodna z nazwą klasy z rozszerzeniem nazwy pliku .java). Na przykład, gdy tworzymy klasę Book, następującą deklarację klasy należy zapisać w pliku o nazwie „Book.java”.

Dane przechowywane przez obiekt i sposób manipulowania tymi danymi są określane poprzez utworzenie klasy. Na przykład poniżej znajduje się bardzo podstawowa definicja klasy dla obiektu Book:

Pola służą do przechowywania danych dla obiektu i łącznie składają się na stan obiektu. Ponieważ tworzymy obiekt Book, sensowne byłoby przechowywanie danych o tytule książki, autorze i wydawcy:

Pola są tylko normalnymi zmiennymi z jednym ważnym ograniczeniem - muszą używać modyfikatora dostępu „private”. Prywatne słowo kluczowe oznacza, że ​​do tych zmiennych można uzyskać dostęp tylko z klasy, która je definiuje.

instagram viewer

Uwaga: to ograniczenie nie jest egzekwowane przez kompilator Java. Możesz utworzyć zmienną publiczną w swojej definicji klasy, a język Java nie będzie na to narzekał. Złamiesz jednak jedną z podstawowych zasad programowania obiektowego - dane kapsułkowanie. Dostęp do stanu twoich obiektów można uzyskać tylko poprzez ich zachowania. Mówiąc prościej, dostęp do pól klas można uzyskać wyłącznie za pomocą metod klasy. Wymuszanie enkapsulacji danych na tworzonych obiektach należy do Ciebie.

Metoda konstruktora używa tej samej nazwy co klasa (tj. Book) i musi być publicznie dostępna. Pobiera wartości zmiennych, które są do niego przekazywane, i ustawia wartości pól klasy; tym samym ustawiając obiekt do stanu początkowego.

Zachowania to działania, które obiekt może wykonać i zapisywane są jako metody. W tej chwili mamy klasę, którą można zainicjować, ale nie robi wiele więcej. Dodajmy metodę o nazwie „displayBookData”, która wyświetli bieżące dane przechowywane w obiekcie:

Możemy dodać tyle metod i pól, ile chcemy, ale na razie rozważmy klasę Book jako ukończoną. Ma trzy pola do przechowywania danych o książce, może być inicjalizowany i wyświetlać zawarte w nim dane.

Po lewej stronie znaku równości znajduje się deklaracja obiektu. To znaczy, że chcę zrobić obiekt Book i nazwać go „firstBook”. Po prawej stronie znaku równości jest utworzenie nowej instancji obiektu Book. W tym celu należy przejść do definicji klasy Book i uruchomić kod w metodzie konstruktora. Tak więc nowa instancja obiektu Book zostanie utworzona z polami tytułu, autora i wydawcy odpowiednio ustawionymi na „Horton słyszy kogo!”, „Dr Suess” i „Random House”. Wreszcie znak równości ustawia nasz nowy obiekt FirstBook jako nową instancję klasy Book.

instagram story viewer