Projektowanie i tworzenie obiektów w JavaScript

Programy komputerowe

PeopleImages/Getty Images





01 z 07

Wstęp

Zanim przeczytasz ten przewodnik krok po kroku, możesz rzucić okiem nawprowadzenie do programowania obiektowego. Kod Java zawarty w poniższych krokach pasuje do przykładu obiektu Book użytego w teorii tego artykułu.​

Pod koniec tego przewodnika nauczysz się:



  • zaprojektuj obiekt
  • przechowywać dane w obiekcie
  • manipulować danymi w obiekcie
  • utworzyć nową instancję obiektu

Plik klas

Jeśli jesteś nowy w obiektach, najprawdopodobniej będziesz przyzwyczajony do tworzenia programów w języku Java przy użyciu tylko jednego pliku – głównego pliku klasy Java. Jest to klasa, która ma główną metodę zdefiniowaną jako punkt początkowy programu Java.

Definicję klasy w kolejnym kroku należy zapisać w osobnym pliku. Jest zgodny z tymi samymi wytycznymi dotyczącymi nazewnictwa, których używałeś dla głównego pliku klasy (tj. nazwa pliku musi być zgodna z nazwą klasy z rozszerzeniem nazwy pliku .java). Na przykład, kiedy tworzymy klasę Book, następującą deklarację klasy należy zapisać w pliku o nazwie 'Book.java'.



02 z 07

Deklaracja klasy

Dane, które obiekt przechowuje i sposób, w jaki manipuluje tymi danymi, są określane przez utworzenie klasy. Na przykład poniżej znajduje się bardzo podstawowa definicja klasy dla obiektu Book:

|_+_||_+_|

Warto poświęcić chwilę na rozbicie powyższej deklaracji klasy. Pierwsza linia zawiera dwa słowa kluczowe Java 'public' i 'class':

  • Słowo kluczowe public jest znane jako modyfikator dostępu. Kontroluje, które części programu Java mogą uzyskać dostęp do Twojej klasy. W rzeczywistości dla klas najwyższego poziomu (tj. klas nie zawartych w innej klasie), takich jak nasz obiekt książki, muszą one być publicznie dostępne.
  • Słowo kluczowe class służy do zadeklarowania, że ​​wszystko w nawiasach klamrowych jest częścią naszej definicji klasy. Bezpośrednio po nim następuje nazwa klasy.
03 z 07

Pola

Pola służą do przechowywania danych obiektu i razem tworzą stan obiektu. Ponieważ tworzymy obiekt Book, sensowne byłoby przechowywanie danych o tytule książki, autorze i wydawcy:

|_+_||_+_|

Pola są zwykłymi zmiennymi z jednym ważnym ograniczeniem – muszą używać modyfikatora dostępu 'private'. Słowo kluczowe private oznacza, że ​​te zmienne są dostępne tylko z wnętrza klasy, która je definiuje.



Notatka: to ograniczenie nie jest wymuszane 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. Lub, ujmując to w praktyczny sposób, do pól klasy można uzyskać dostęp tylko za pośrednictwem metod klasy. Od Ciebie zależy wymuszenie enkapsulacji danych w tworzonych obiektach.

04 z 07

Metoda Konstruktora

Większość klas ma metodę konstruktora. Jest to metoda, która jest wywoływana podczas pierwszego tworzenia obiektu i może być użyta do ustawienia jego stanu początkowego:



|_+_||_+_|

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

05 z 07

Dodawanie metod

Zachowania to czynności, które obiekt może wykonywać i są zapisywane jako metody. W tej chwili mamy klasę, którą można zainicjować, ale niewiele więcej robi. Dodajmy metodę o nazwie 'displayBookData', która wyświetli bieżące dane przechowywane w obiekcie:



|_+_||_+_|

Wszystko, co robi metoda displayBookData, to wypisuje na ekran wszystkie pola klasy.

Moglibyśmy 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żna ją zainicjować i wyświetlić zawarte w niej dane.



06 z 07

Tworzenie instancji obiektu

Aby utworzyć instancję obiektu Book, potrzebujemy miejsca, z którego można go utworzyć. Utwórz nową główną klasę Java, jak pokazano poniżej (zapisz ją jako BookTracker.java w tym samym katalogu, co plik Book.java):

|_+_||_+_|

Aby utworzyć instancję obiektu Book, używamy słowa kluczowego „new” w następujący sposób:

|_+_||_+_|

Po lewej stronie znaku równości znajduje się deklaracja obiektu. Mówi, że chcę stworzyć obiekt Book i nazwać go „firstBook”. Po prawej stronie znaku równości znajduje się tworzenie nowej instancji obiektu Book. To, co robi, to przejście do definicji klasy Book i uruchomienie kodu wewnątrz metody konstruktora. Tak więc nowa instancja obiektu Book zostanie utworzona z polami tytułu, autora i wydawcy ustawionymi odpowiednio na „Horton słyszy Ktosia!”, „Dr Suess” i „Random House”. Na koniec znak równości ustawia nasz nowy obiekt firstBook jako nową instancję klasy Book.

Teraz wyświetlmy dane w firstBook, aby udowodnić, że naprawdę stworzyliśmy nowy obiekt Book. Wystarczy, że wywołamy metodę displayBookData obiektu:

|_+_||_+_|

Wynik to:
Tytuł: Horton słyszy Ktosia!
Autor: dr Seuss
Wydawca: Random House

07 z 07

Wiele obiektów

Teraz możemy zacząć dostrzegać moc przedmiotów. Mogę rozszerzyć program:

|_+_||_+_|

Od napisania jednej definicji klasy mamy teraz możliwość tworzenia tylu obiektów Book, ile tylko zechcemy!