CodeGym /Kursy Java /Składnia Java /Klasyczne klasy

Klasyczne klasy

Składnia Java
Poziom 5 , Lekcja 1
Dostępny

– Cześć, Amigo!

– Cześć, Basiu!

– Dzisiaj opowiem Ci o klasach w Javie.

Wyjaśnienie Nr 1. Zacznę od analogii. Wszystko, co materialne, składa się z atomów. Jest wiele typów atomów: wodór, tlen, żelazo, uran... Ich kombinacja tworzy różne cząsteczki, substancje i obiekty.

– Atomy mają swoją wewnętrzną strukturę, zawierają elektrony i nukleony składające się z protonów i neutronów.

– Tak, coś tam słyszałem o strukturze atomów. Może dlatego, że jestem robotem?!

– Świat Javy jest zbudowany w podobny sposób. Programy składają się z obiektów różnego typu (klas). Z kolei klasy zawierają różne wewnętrzne struktury (zmienne i metody).

– Jeśli spojrzymy na program jako całość, jego blokami składowymi są obiekty. A klasy to typy bloków. Innymi słowy, różne typy bloków są obiektami różnych klas.

– Myślę, że rozumiem.

Wyjaśnienie Nr 2. Kiedy potrzebujemy nowego typu obiektu, tworzymy nową klasę i definiujemy sposób, w jaki jej wewnętrzny obiekt ma się zachowywać.

– To brzmi zbyt ogólnie. To znaczy, wydaje się to jasne, ale właściwie nie powiedziałeś nic konkretnego.

– W odniesieniu do struktury wewnętrznej klasa składa się z metod, które coś robią i zmiennych, które są używane przez metody do przechowywania danych.

– Nie byłoby prościej powiedzieć, że klasa to zestaw metod?

– Prawie tak jest. Uściślę to – klasa jest grupą powiązanych ze sobą metod i współdzielonych zmiennych, używanych przez te metody, by przechowywać różne wartości.

– Rozumiem. Aby utworzyć nową klasę, musimy najpierw napisać te metody...

– Tak. Musimy także zdecydować, które zmienne będą współdzielone przez różne metody. Wyciągamy te zmienne z metod i wkładamy je do klas, np. zmieniamy zmienne lokalne w zmienne (instancji) składowe.

– Zasadniczo, klasa jest tworzona w ten sposób:

1. Programista decyduje, jakich jeszcze obiektów potrzebuje.

2. Programista dzieli te obiekty na różne typy w zależności od tego, co one mają robić.

3. Programista pisze osobną klasę dla każdego typu.

4. W klasie deklaruje potrzebne metody i zmienne.

5. W każdej metodzie pisze komendy tak, aby metoda robiła to, co on chce.

6. Klasa jest gotowa. Możesz teraz utworzyć obiekty klasy.

– Super! Cóż za intrygujący schemat! Muszę go zapamiętać.

– Zdecydowanie powinieneś. Na pewno Ci się przyda. Filozofia programowania, która wymaga, aby program był podzielony na obiekty, nazywana jest programowaniem obiektowym (ang. OOP – object-oriented programming).

– Java jest klasycznym przykładem języka OOP: wszystko w niej jest obiektem.

– Studiowanie Javy sprowadza się do dwóch głównych zdań: nauki pisania własnych klas i nauki zrozumienia klas pisanych przez innych. Dzisiaj zaczniemy od tego prostszego zadania. Nauczymy się, jak pisać proste klasy i, oczywiście, jak tworzyć obiekty tych klas. Obiekty są często nazywane instancjami klas. To synonimy, oba wyrażenia są poprawne.

– Kumam.

– Podsumowując, można powiedzieć, że klasa jest mini-programem: trochę danych i funkcje, które używają tych danych do robienia czegoś. Klasy są używane do tworzenia instancji klas, znanych również jako obiekty.

– Aby utworzyć obiekt, piszemy „new nazwa_klasy()” w kodzie. Oto kilka przykładów:

Przykłady
Kot kot = new Kot();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

– Obiekt ma dwie interesujące właściwości:

Pierwsza: Każdy obiekt przechowuje swoją własną kopię zmiennych instancji. To oznacza, że jeśli zmienne instancji x i y zostały zadeklarowane w klasie oraz jeśli utworzono 10 obiektów tej klasy, to każdy obiekt będzie miał swoje własne zmienne. Zmiana zmiennych w jednym obiekcie nie wpływa na zmienne w innym obiekcie.

Druga: Podczas tworzenia obiektów możesz przekazać różne argumenty. Te wartości są używane, aby zainicjować obiekt. To trochę jak nadawanie imienia nowonarodzonemu dziecku. W wielu klasach wymagane są takie argumenty w celu utworzenia instancji (obiektów) klasy.

– Kumam. Powtórzysz jeszcze to o zmiennych instancji?

– Każdy obiekt ma swoje własne dane. To właśnie zmienne instancji.

Kod Java Wynik na ekranie:
Kot kot1 = new Kot();
kot1.imie = "Oskar";

Kot kot2 = new Kot();
kot2.imie = "Kafel";

System.out.println(kot1.imie);
System.out.println(kot2.imie);
Oskar
Kafel
Komentarze (7)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Przemo Poziom 17, Legnica, Poland
18 grudnia 2023
"Aby utworzyć nową klasę, musimy najpierw napisać te metody...". Dziwne zdanie, jak mam napisać metodę najpierw a później klasę? Chyba, że mam już jedną? "Obiekty są często nazywane instancjami klas. To synonimy, oba wyrażenia są poprawne." A między obiektem a instancją nie jest przypadkiem podobna zależność jak między parametrem a argumentem? Czyli instancja jest przy deklarowaniu obiektu, ale faktycznym obiektem staje się po uruchomieniu(kompilacji)?
Anonymous #11274698 Poziom 8, Gorzow Wielkopolski, Poland
25 kwietnia 2023
– Pierwsza: Każdy obiekt przechowuje swoją własną kopię zmiennych instancji. To oznacza, że jeśli zmienne instancji x i y zostały zadeklarowane w klasie oraz jeśli utworzono 10 obiektów tej klasy, to każdy obiekt będzie miał swoje własne zmienne. Zmiana zmiennych w jednym obiekcie nie wpływa na zmienne w innym obiekcie. Obiekt przechowuje swoją własną kopię zmiennych instancji - czyli w klasie jest zestaw metod i zmiennych? Co to znaczy że "utworzono 10 obiektów tej klasy"?
TheVirus Poziom 22
12 lipca 2023
"Co to znaczy że "utworzono 10 obiektów tej klasy"" To znaczy, że utworzono np. 10 obiektów (kotów) klasy Kot (Kot kot1 = new Kot(); Kot kot2 = new Kot(); itd.)
Anonymous #11274698 Poziom 8, Gorzow Wielkopolski, Poland
25 kwietnia 2023
/* Comment has been deleted */
Patryk K Poziom 8, Krakow, Poland
19 września 2022
programowanie obiektowe, a "zorientowane obiektowo" to dwie rozne rzeczy brakuje w tej lekcji informacji, dlaczego Java nie jest w pelni obiektowym jezykiem programowania, troche to co tutaj jest napisane to wprowadza w blad
Maja Poziom 23, Stavanger, Norway
12 lipca 2020
"Jest wiele typów atomów: wodór, tlen, żelazo, uran." Uważam to tłumaczenie za niepoprawne. Słowo "atomów" powinno być zastąpione słowem "pierwiastków".
Tomek Gawlik Poziom 6, Poland
7 lipca 2022
Różne pierwiastki składają się z różnych atomów więc jest poprawnie.