java class vs object how use class
W tym samouczku omówimy szczegółowo jedną z koncepcji OOPS. Zbadamy wszystko o klasach i obiektach Java wraz z przykładami:
Wiemy, że programowanie obiektowe kładzie nacisk na dane i dlatego obraca się wokół bytów zwanych obiektami. Klasy działają jak plany tych obiektów.
Zobaczmy, jak utworzyć klasę i jej komponenty. Nauczymy się również tworzyć i inicjować obiekty w Javie przy pomocy przykładów programowania w dalszej części tego samouczka.
=> Odwiedź tutaj ekskluzywną serię samouczków szkoleniowych Java.
Czego się nauczysz:
Klasy i obiekty w Javie
W Javie wszystkie funkcje, atrybuty, metody itp. Są powiązane z klasami i obiektami. Nie możemy napisać programu w Javie tylko z główną funkcją bez zadeklarowania klasy, tak jak możemy to zrobić w C ++.
Na przykład, jeśli chcemy napisać program na pojeździe, pojazd jest obiektem czasu rzeczywistego. Ale pojazdy mogą być różnych typów. Oznacza to, że pojazd ma atrybut typu, który może przyjmować różne wartości, takie jak samochód, ciężarówka, skuter, rower itp.
Zatem sposób, w jaki wyrażamy obiekt pojazdu w Javie, polega na utworzeniu klasy „Pojazd”, a następnie zdefiniowaniu jej różnych atrybutów. Następnie możemy zadeklarować różne obiekty klasy Pojazd, takie jak samochód, rower itp.
Wewnątrz klasy możemy zdefiniować właściwości Vehicle jako atrybuty klasy (składowe danych) oraz metody takie jak startVehicle (), stopVehicle () itp.
W ten sposób, aby wyrazić choćby najmniejszą jednostkę w Javie, musimy najpierw zidentyfikować obiekt, a następnie zdefiniować jego schemat lub klasę.
Nauczmy się więc najpierw wszystkiego o klasach i obiektach, a następnie przejdźmy do innych koncepcji OOP w Javie.
Klasa w Javie
Aby stworzyć program w Javie, korzystamy z obiektów i klas. Podczas gdy klasa w Javie jest tylko jednostką logiczną, obiekt w Javie jest zarówno jednostką fizyczną, jak i logiczną.
Co to jest obiekt w Javie?
Obiekt jest bytem, który ma stan i wykazuje zachowanie. Na przykład, każda rzeczywista istota, taka jak długopis, laptop, telefon komórkowy, stół, krzesło, samochód itp., jest przedmiotem. Wszystkie te obiekty są albo fizyczne (namacalne), albo logiczne (niematerialne).
Przedmioty niematerialne to przeważnie linie lotnicze, system bankowy itp. Są to logiczne byty, które mają określony stan i zachowanie.
Każdy obiekt ma następujące główne cechy:
- Tożsamość: Unikalny identyfikator definiuje tożsamość obiektu. Ten identyfikator nie jest widoczny dla zwykłego użytkownika, ale wewnętrznie maszyna JVM używa tego identyfikatora do jednoznacznej identyfikacji obiektu.
- Stan: Określa aktualne dane w obiekcie lub wartość obiektu.
- Zachowanie: Ta cecha reprezentuje funkcjonalność (zachowanie) obiektu. Na przykład, obiekt Pojazd, który omówiliśmy powyżej, zachowuje się jak start, stop itp.
Wrócimy do definicji obiektu, kiedy zdefiniujemy klasę.
Więc co to jest klasa?
Wiemy, że głównym składnikiem programowania obiektowego jest obiekt. Jeśli chcemy zbudować określony typ obiektu, potrzebujemy planu. Ten plan dostarczy nam zestawu instrukcji, które pomogą nam zbudować obiekt.
Na przykład, powiedzmy, że chcemy zbudować dom. Dom tutaj jest obiektem. Aby zbudować dom, potrzebujemy wstępnego projektu domu. Nie możemy bezpośrednio budować domu, jak nam się podoba.
Tutaj pojawia się klasa. Aby więc zbudować obiekt lub istotę z życia, najpierw będziemy mieć plan, który określa zawartość i zachowanie obiektu. Jest to znane jako klasa w programowaniu obiektowym.
Tak więc klasę można zdefiniować jako „ plan lub szablon, który określa stan i zachowanie obiektu ”.
Klasę możemy również postrzegać jako grupę obiektów. Ta grupa ma pewne właściwości, które są wspólne dla wszystkich obiektów.
Zobaczmy, jak utworzyć klasę w Javie.
Jak stworzyć klasę w Javie
Ogólna składnia klasy definicji klasy w Javie to:
class extends implements interface_name> { //fields; //constructors //methods; //blocks }
Powyższą ogólną deklarację klasy przedstawia poniższy diagram z przykładową deklaracją klasy:
Zauważ, że nadklasa i interfejs w deklaracji klasy są opcjonalne. Możemy wybrać samodzielną klasę bez rozszerzania jej z innej nadklasy lub implementowania jakiegokolwiek interfejsu.
Powyższa ogólna definicja pokazała również komponenty, które mogą występować w definicji klasy.
Komponenty klasy
Poniżej przedstawiono składniki klasy.
Jak pokazano na powyższym diagramie, klasa Java zawiera następujące komponenty:
- Pola
- Metody
- Konstruktorzy
- Bloki
- Zagnieżdżona klasa i interfejs
Następnie omówimy pierwsze trzy elementy. Te komponenty są wymagane w każdej klasie. Zagnieżdżone klasy i interfejsy to zupełnie inny temat i zostaną omówione w naszych późniejszych samouczkach.
Zanim zaczniemy dyskusję na temat komponentów klas, najpierw zdefiniujmy klasę Customer_Account
class Customer_Account { static String bank_name; //class variable long customer_accountNo; //instance variable String customer_name; //instance variable //constructor Customer_Account (long accountnum, String accName){ customer_accountNo = accountnum; customer_name = accName; } //method void printInfo(){ System.out.println ('Customer Account Details:'); System.out.println ('Customer Account Number: ' + customer_accountNo); System.out.println (' Customer Name: '+customer_name); } }
Pola
Pola to zmienne lub dane klasy. W Javie pola są również nazywane zmiennymi składowymi. Używamy zamiennie terminów pole i zmienna.
Zwykle pola klasy są dwojakiego rodzaju:
# 1) Zmienne klasowe: Zmienne klas są deklarowane ze słowem „statyczne”, dzięki czemu są zmiennymi statycznymi. Oznacza to, że ten typ zmiennej ma tylko jedną kopię na klasę, niezależnie od tego, ile instancji lub obiektów jest obecnych dla tej klasy.
# 2) Zmienne instancji: Są przeciwieństwem zmiennych klasowych. Elementy członkowskie danych są nazywane zmiennymi instancji, ponieważ te zmienne mają przydzieloną osobną pamięć dla każdej instancji klasy w czasie wykonywania.
W powyższej definicji klasy pokazaliśmy zarówno zmienne klas, jak i instancji. Zmienna „nazwa_banku” zadeklarowana za pomocą modyfikatora statycznego jest zmienną klasy. Pozostałe dwie zmienne „customer_accNo” i „customer_name” to zmienne instancji.
Budowniczy
Konstruktory to specjalne metody, które są zwykle używane do inicjowania wystąpienia klasy. Konstruktory nie mają typu zwracanego, mają taką samą nazwę jak klasa i mogą zawierać parametry lub nie.
W powyższej definicji klasy mamy jednego konstruktora.
Customer_Account (long accountnum, String accName)
Dowiemy się więcej o konstruktorach w naszych kolejnych samouczkach.
metoda
Metoda w klasie Java to funkcja definiująca zachowanie obiektu i jego elementów członkowskich.
Metoda klasowa jest tworzona w ten sam sposób, w jaki tworzymy zwykłe metody w programie. Wewnątrz metody klasy możemy używać wszystkich konstrukcji i funkcji udostępnianych przez Javę.
W naszej przykładowej definicji klasy mamy metodę „printInfo”, która wyświetla różne składowe danych klasy.
Metoda klasy Java ma zwykle następujący prototyp:
method_name(parameter list…){ //code blocks }
Dostęp do metod klasowych uzyskuje się za pośrednictwem instancji klasy za pomocą operatora kropki. Jeśli więc utworzymy instancję zgodnie z powyższą klasą „Customer_Account”, wówczas możemy uzyskać dostęp do printInfo za pomocą poniższej linii kodu.
acc.printInfo();
Jeśli modyfikator access_modifier jest statyczny, nie potrzebujemy instancji, aby uzyskać dostęp do metody. Możemy użyć nazwy klasy bezpośrednio, aby uzyskać dostęp do metody,
Custome_Account.printInfo ();
Przykład klasy Java
Zaimplementujmy prosty przykład, aby zademonstrować klasę i obiekt w Javie.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Wynik
Powyższy program deklaruje klasę studencką. Ma trzy zmienne instancji, a mianowicie. student_id, student_name i student_marks.
Następnie definiujemy klasę Main, w której deklarujemy obiekt klasy Student o nazwie student_object. Następnie za pomocą operatora kropki uzyskujemy dostęp do zmiennych instancji i drukujemy ich wartości.
Powyższy program jest przykładem głównej metody poza klasą.
W poniższym przykładzie będziemy mieć główną metodę w klasie.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Wynik
Powyższy program jest taki sam jak poprzedni, z tym wyjątkiem, że główna metoda znajduje się w klasie Student.
Obiekt w Javie
Teraz, gdy mamy wystarczającą wiedzę o klasach w Javie, możemy przedefiniować obiekt pod względem klasy. Tak więc obiekt jest „ instancja klasy ”. W ten sposób tworzymy zmienną lub instancję typu nazwa_klasy i określamy ją jako obiekt.
Kilka punktów, o których należy pamiętać o obiekcie:
- Obiekt jest postrzegany jako podstawowa jednostka OOP wraz z klasą.
- Obiekt jest jednostką wykonawczą.
- Obiekt nazywany jest instancją klasy.
- Obiekt ma zachowanie i stan.
- Obiekt przyjmuje wszystkie właściwości i atrybuty klasy, której jest instancją. Ale w dowolnym momencie każdy obiekt ma różne stany lub wartości zmiennych.
- Obiekt jest używany do reprezentowania jednostki czasu rzeczywistego w aplikacjach oprogramowania.
- Jedna klasa może mieć dowolną liczbę obiektów.
- Obiekty oddziałują na siebie poprzez wywoływanie metod.
Jak utworzyć instancję obiektu
Deklaracja przedmiotu jest również określana jako tworzenie instancji obiektów w Javie. Deklaracja obiektu jest taka sama, jak deklaracja zmiennej.
Na przykład, klasa Customer_Account, którą zadeklarowaliśmy powyżej, może służyć do zadeklarowania obiektu.
Dlatego deklarujemy lub tworzymy instancję obiektu Customer_Account w następujący sposób:
Customer_Account account;
Powyższa instrukcja deklaruje obiekt o nazwie „konto” klasy Customer_Account lub tworzy jego instancję.
Zauważ, że kiedy tworzymy instancję obiektu klasy, klasa powinna być ściśle „klasą konkretną”. Nie możemy zadeklarować obiektu klasy abstrakcyjnej.
Powyższa instrukcja tylko deklaruje obiekt. Nie możemy używać tej zmiennej do wywoływania metod klasy lub ustawiania wartości zmiennych składowych. Dzieje się tak, ponieważ nie przydzieliliśmy żadnej pamięci dla zadeklarowanego obiektu.
Musimy więc odpowiednio stworzyć obiekt, aby móc go dalej używać.
Właściwe tworzenie obiektu odbywa się poprzez inicjalizację obiektów. Po zadeklarowaniu obiektu musimy go zainicjalizować. Tylko wtedy możemy użyć tego obiektu, aby uzyskać dostęp do zmiennych składowych i metod klasy.
Jak stworzyć obiekt
Możemy stworzyć obiekt w Javie używając następujących metod:
# 1) Korzystanie z nowego słowa kluczowego
Możemy zainicjować obiekt za pomocą nowego słowa kluczowego. Ta metoda jest najczęściej używaną metodą tworzenia nowego obiektu.
Na przykład,mając klasę ABC, możemy stworzyć nowy obiekt klasy w następujący sposób:
ABC myObj = new ABC ();
W powyższej instrukcji myObj jest nowym obiektem utworzonym przy użyciu operatora new. Obiekt utworzony za pomocą tej metody ma początkowe wartości wszystkich członków danych. Konstrukcja ABC () występująca po słowie kluczowym new jest domyślnym konstruktorem klasy ABC.
Możemy również zdefiniować konstruktory z parametrami i wywołać ten konstruktor za pomocą słowa kluczowego new, aby utworzyć obiekt z pożądanymi wartościami członków danych.
# 2) Korzystanie z metody Class.forName ()
Java udostępnia klasę o nazwie „Class”, która przechowuje wszystkie informacje o klasach i obiektach w systemie. Do utworzenia obiektu możemy użyć metody forName () klasy „Class”. Musimy przekazać w pełni kwalifikowaną nazwę klasy jako argument do metody forName.
Następnie możemy wywołać metodę newInstance (), która zwróci instancję klasy.
Poniższe linie kodu pokazują to.
ABC myObj = Class.forName (“com.myPackage.ABC”).newInstance();
Powyższa instrukcja stworzy nowy obiekt myObj klasy ABC.
# 3) Metodą clone ()
Klasa obiektu w języku Java udostępnia metodę clone (), która zwraca klon lub kopię obiektu przekazanego jako argument do metody clone ().
Na przykład,
ABC myobj1 = new ABC (); ABC testObj = (ABC) myobj1.clone ();
# 4) Przez deserializację
Java udostępnia technikę zwaną deserializacją, w której odczytujemy obiekt z zapisanego pliku. Będziemy uczyć się deserializacji w osobnym samouczku.
Jak zainicjować obiekt
W tej sekcji omówimy metody inicjowania obiektu w Javie. Inicjalizacja odnosi się do przypisywania wartości członkom danych klasy. Poniżej podano niektóre metody używane do inicjowania obiektów w Javie.
# 1) Zainicjuj obiekt za pomocą odwołania
Utworzony obiekt referencyjny służy do przechowywania wartości w obiekcie. Odbywa się to po prostu za pomocą operatora przypisania.
Poniższy program przedstawia inicjalizację obiektu za pomocą referencji.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members using reference student_object.student_id = 101; student_object.student_name = 'Elena'; student_object.student_marks = 89.93; //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Wynik
Powyższy program deklaruje klasę Studenta ze zmiennymi trzyczęściowymi. Następnie w metodzie main tworzymy obiekt klasy Student za pomocą słowa kluczowego new. Następnie przypisujemy dane do każdego z pól składowych obiektu, jak pokazano w programie.
# 2) Inicjalizacja obiektu za pomocą metody
W tym przykładzie tworzymy dwa obiekty klasy Student i inicjalizujemy wartość tych obiektów poprzez wywołanie metody insertRecord. Metoda insertRecord jest metodą składową klasy Student.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //method to initialize class data members void initialize_object(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members through method student_object.initialize_object(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Wynik
# 3) Inicjalizacja obiektu za pomocą konstruktora
Możemy również zainicjować obiekt za pomocą konstruktora.
Program do demonstracji użycia konstruktora jest podany poniżej.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //constructor for initialization Student(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args()){ //create a Student object using new operator and initialize it with constructor Student student_object = new Student(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Wynik
W tym programie klasa` Student posiada sparametryzowany konstruktor, który pobiera parametry i przypisuje je do zmiennych składowych.
Obiekt klasy Vs w Javie
Klasa | Obiekt |
---|---|
Pole członka klasy nie ma żadnych wartości. | Każdy obiekt ma kopię pól członkowskich i skojarzonych z nimi wartości. |
Klasa to szablon lub plan tworzenia obiektów. | Obiekt jest instancją klasy. |
Po utworzeniu klasa nie przydziela żadnej pamięci. | Po utworzeniu obiektowi przydzielana jest pamięć. |
Klasa jest jednostką logiczną. | Obiekt jest bytem fizycznym. |
Klasa jest deklarowana przy użyciu słowa kluczowego class. | Obiekt jest tworzony przy użyciu metod new, forName () .newInstance (), clone (). |
Klasa to grupa identycznych obiektów. Na przykład. Klasa Zwierzęta (). | Przedmiot to specyficzna jednostka. Na przykład. Zwierzęta pies = nowe Zwierzęta (); |
Klasę można zadeklarować tylko raz. | Klasa może mieć dowolną liczbę instancji lub obiektów. |
Często Zadawane Pytania
P # 1) Jaka jest różnica między klasą a obiektem?
Odpowiedź: Klasa to szablon używany do tworzenia obiektów. Obiekt jest instancją klasy. Podczas gdy klasa jest bytem logicznym, obiekt jest bytem fizycznym. Każdy obiekt ma stan, w którym wszystkie zmienne składowe mają określone wartości. Klasa nie ma stanu.
Pytanie 2) Co zawiera klasa Java?
Odpowiedź: Klasa Java, która działa jako szablon lub plan tworzenia obiektów, definiuje właściwości lub pola i zachowania lub metody.
Pytanie 3) Dlaczego używamy klas w Javie?
Odpowiedź: Za pomocą klas i obiektów możemy modelować rzeczywiste aplikacje w Javie, a tym samym efektywnie je rozwiązywać. Obiekty ze stanem i zachowaniem reprezentują byty ze świata rzeczywistego, a klasy działają jak ich plany. Dlatego używając klas jako cegiełek możemy modelować dowolną złożoną aplikację.
Q # 4) Wyjaśnij klasę i obiekt na przykładzie z życia wziętego.
najlepsze miejsce do oglądania anime za darmo
Odpowiedź: Jeśli weźmiemy samochód jako obiekt, wówczas samochód może mieć atrybuty, takie jak marka, kolor, silnik, przebieg itp. Może również mieć pewne metody, takie jak start (), stop (), applybrakes (). W ten sposób możemy zamodelować samochód w obiekt oprogramowania. Teraz samochód może mieć różne marki, takie jak Maruti, fiat itp.
Aby reprezentować wszystkie te modele samochodów, możemy mieć szablon klasy, który będzie zawierał wszystkie wspólne atrybuty i metody zdefiniowane, abyśmy mogli utworzyć instancję tej klasy i uzyskać żądany obiekt samochodu.
W ten sposób prawdziwy obiekt samochodowy można łatwo przekształcić w obiekt w Javie.
Wniosek
W tym samouczku poznaliśmy szczegóły klas i obiektów w Javie. Omówiliśmy definicję klasy i przedmiotu. Samouczek zawiera szczegółowe omówienie definiowania klasy, składników klasy, a także przykłady użycia klasy w programie.
Poznaliśmy również szczegóły obiektów w Javie, w tym ich deklarację, tworzenie, inicjalizację itp. Wraz z odpowiednimi przykładami programowania.
Zbadaliśmy główne różnice między klasą a obiektami. W naszych następnych samouczkach omówimy typy klas i konstruktory w klasie, po czym przejdziemy do innych tematów.
=> Obejrzyj serię prostych szkoleń dotyczących języka Java.
rekomendowane lektury
- Podstawy języka Java: składnia języka Java, klasa języka Java i podstawowe pojęcia dotyczące języka Java
- Klasa Java Integer i Java BigInteger z przykładami
- Co to jest wektor Java | Samouczek klasy wektorowej Java z przykładami
- OOP Java: Wprowadzenie do programowania obiektowego w Javie
- Java Array Class Tutorial - klasa java.util.Arrays z przykładami
- Samouczek klasy skanera Java z przykładami
- Tablica obiektów w Javie: jak tworzyć, inicjować i używać
- Rodzaje zajęć w Javie: abstrakcyjne, konkretne, końcowe, statyczne