java class vs object how use class
U ovom uputstvu detaljno ćemo razmotriti jedan od koncepata OOPS. Istražit ćemo sve o Java klasi i objektu zajedno s primjerima:
Znamo da objektno orijentirano programiranje naglašava podatke i tako se vrti oko entiteta koji se nazivaju objektima. Predavanja djeluju kao nacrti tih predmeta.
Pogledajmo kako stvoriti razred i njegove komponente. Također ćemo naučiti stvarati i inicijalizirati objekte u Javi uz pomoć primjera programiranja kasnije u ovom vodiču.
=> Posjetite ovdje za ekskluzivnu seriju udžbenika za Java.
Što ćete naučiti:
Klase i objekti u Javi
U Javi su sve značajke, atributi, metode itd. Povezane s klasama i objektima. Java program ne možemo napisati samo s glavnom funkcijom, a da klasu ne deklariramo onako kako to možemo učiniti na C ++.
Na primjer, ako želimo napisati program na vozilu, vozilo je objekt u stvarnom vremenu. Ali vozila mogu biti raznih vrsta. To znači da vozilo ima atribut tipa koji može poprimiti razne vrijednosti poput automobila, kamiona, skutera, bicikla itd.
Dakle, način na koji izražavamo objekt vozila u Javi je stvaranje klase 'Vozilo', a zatim definiranje različitih atributa. Tada možemo prijaviti razne predmete klase vozila poput automobila, bicikla itd.
Unutar klase možemo definirati svojstva vozila kao atribute klase (članovi podataka) i metode poput startVehicle (), stopVehicle () itd.
Na taj način, da bismo izrazili i najmanji entitet u Javi, prvo moramo identificirati objekt, a zatim definirati njegov nacrt ili klasu.
Dakle, prvo naučimo sve o razredima i objektima, a zatim prijeđimo na ostale koncepte OOP-a u Javi.
Predavanje na Javi
Da bismo razvili program na Javi, koristimo se objektima i klasama. Dok je klasa u Javi samo logička jedinica, objekt u Javi je i fizički i logički entitet.
Što je objekt u Javi?
Predmet je entitet koji ima stanje i ponašanje. Na primjer, bilo koji stvarni život poput olovke, prijenosnog računala, mobitela, stola, stolice, automobila itd. je objekt. Svi su ti objekti ili fizički (materijalni) ili logični (nematerijalni).
Nematerijalni objekti uglavnom su zrakoplovni sustav, bankarski sustav itd. To su logični entiteti koji imaju određeno stanje i ponašanje.
Svaki objekt ima sljedeće glavne karakteristike:
- Identitet: Jedinstveni ID definira identitet objekta. Uobičajeni korisnik ovaj ID ne vidi, ali interno JVM koristi ovaj ID za jedinstvenu identifikaciju objekta.
- Država: Definira sadašnje podatke u objektu ili vrijednost predmeta.
- Ponašanje: Ova značajka predstavlja funkcionalnost (ponašanje) objekta. Na primjer, objekt Vozilo o kojem smo gore razgovarali ponaša se kao start, zaustavljanje itd.
Ponovno ćemo posjetiti definiciju objekta kada definiramo klasu.
Pa, što je razred?
Znamo da je glavna komponenta objektno orijentiranog programiranja objekt. Ako želimo izgraditi određenu vrstu objekta, potreban nam je nacrt. Ovaj će nam nacrt pružiti set uputa koje će nam pomoći da izgradimo objekt.
Na primjer, recimo da želimo sagraditi kuću. Kuća je ovdje objekt. Za izgradnju kuće potreban nam je početni nacrt kuće. Ne možemo se baviti izravnom gradnjom kuće kako želimo.
Ovdje se nastava pojavljuje u slici. Dakle, da bismo izgradili objekt ili entitet iz stvarnog života, prvo ćemo imati nacrt koji određuje sadržaj i ponašanje predmeta. Ovo je poznato kao klasa u objektno orijentiranom programiranju.
Dakle, klasa se može definirati kao „ nacrt ili predložak i on definira stanje i ponašanje predmeta '.
Klasu također možemo promatrati kao skupinu predmeta. Ova skupina ima neka svojstva koja su zajednička svim objektima.
Pogledajmo kako stvoriti klasu u Javi.
Kako stvoriti razred u Javi
Općenita sintaksa klase definicije klase u Javi je:
class extends implements interface_name> { //fields; //constructors //methods; //blocks }
Gornja opća deklaracija klase predstavljena je u donjem dijagramu s primjerom deklaracije klase:
Imajte na umu da su superklasa i sučelje u deklaraciji klase neobavezni. Možemo odabrati samostalnu klasu bez da je proširimo iz druge superrazrede ili implementiramo bilo koje sučelje.
Gornja opća definicija također je pokazala komponente koje mogu biti prisutne u definiciji klase.
Komponente klase
Komponente klase su predstavljene u nastavku.
Kao što je prikazano na gornjem dijagramu, Java klasa sadrži sljedeće komponente:
- Polja
- Metode
- Konstruktori
- Blokovi
- Ugnježđena klasa i sučelje
Sljedeće ćemo razgovarati o prve tri komponente. Te su komponente potrebne u bilo kojoj klasi. Ugnježdeni razredi i sučelja posve su druga tema i o njima će se raspravljati u našim kasnijim vodičima.
Prije nego započnemo raspravu o komponentama klase, prvo definirajmo klasu 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); } }
Polja
Polja su varijable ili podaci klase. Polja se u Javi nazivaju i varijablama članova. Izraze polje i varijabla koristimo naizmjenično.
Polja klase obično su dvije vrste:
# 1) Varijable razreda: Varijable klase deklariraju se riječju 'static' tako da su statičke varijable. To znači da ova vrsta varijable ima samo jednu kopiju po klasi, bez obzira na to koliko je primjeraka ili objekata prisutno za tu klasu.
# 2) Varijable instance: To su suprotnosti varijablama klase. Članovi podataka nazivaju se varijablama instance, jer im te varijable imaju zasebnu memoriju dodijeljenu za svaku instancu klase u vrijeme izvođenja.
U gornjoj definiciji klase prikazali smo i varijable klase i instance. Varijabla “bank_name” deklarirana sa statičkim modifikatorom je varijabla klase. Druge dvije varijable 'customer_accNo' i 'customer_name' su varijable instance.
Graditelj
Konstruktori su posebne metode koje se obično koriste za inicijalizaciju instance klase. Konstruktori nemaju povratni tip, imaju isto ime kao i klasa i mogu sadržavati parametre ili ne.
U gornjoj definiciji klase imamo jedan konstruktor.
Customer_Account (long accountnum, String accName)
O konstruktorima ćemo naučiti više u našim sljedećim vodičima.
Metoda
Metoda u Java klasi je funkcija koja definira ponašanje objekta i njegovih članova.
Metoda klase kreira se na isti način na koji izrađujemo redovite metode u programu. Unutar metode klase možemo koristiti sve konstrukcije i značajke koje pruža Java.
U našoj primjeru definicije klase imamo metodu 'printInfo' koja prikazuje različite članove podataka klase.
Metoda Java klase obično ima sljedeći prototip:
method_name(parameter list…){ //code blocks }
Metodama klase pristupa instanca klase pomoću operatora točke. Dakle, ako kreiramo primjerak prema gornjoj klasi “Customer_Account”, tada možemo pristupiti printInfou pomoću donjeg retka koda.
kako pokrenuti jnlp datoteku u sustavu Windows 10
acc.printInfo();
Ako je access_modifier statičan, tada nam ne treba instanca za pristup metodi. Ime klase možemo koristiti izravno za pristup metodi kao,
Custome_Account.printInfo ();
Primjer Java klase
Primijenimo jednostavan primjer za demonstraciju klase i objekta na Javi.
//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); } }
Izlaz
Gornji program proglašava razred učenika. Ima tri varijable varijable, naime. studentski_id, studentsko_ime i studentska_znaka.
Zatim definiramo klasu Main u kojoj deklariramo objekt klase Student pod nazivom student_object. Zatim pomoću operatora točke pristupamo varijablama instance i ispisujemo njihove vrijednosti.
Gornji program je primjer glavne metode izvan klase.
U donjem primjeru imat ćemo glavnu metodu unutar klase.
//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); } }
Izlaz
Gornji program je isti kao i prethodni program, osim što je glavna metoda unutar klase Student.
Objekt u Javi
Sad imamo dovoljno znanja o nastavi u Javi, možemo redefinirati objekt u smislu klase. Dakle, objekt je primjer klase '. Tako kreiramo varijablu ili primjerak tipa class_name i ona se naziva objektom.
Nekoliko točaka koje treba zapamtiti o objektu:
- Objekt se vidi kao osnovna jedinica OOP-a zajedno s klasom.
- Objekt je runtime jedinica.
- Objekt se naziva primjerom klase.
- Predmet ima ponašanje i stanje.
- Objekt uzima sva svojstva i atribute klase čija je instanca. Ali u bilo kojem trenutku, svaki objekt ima različita stanja ili vrijednosti varijabli.
- Objekt se koristi za predstavljanje entiteta u stvarnom vremenu u softverskim aplikacijama.
- Jedna klasa može imati bilo koji broj objekata.
- Objekti međusobno komuniciraju putem metoda pozivanja.
Kako instalirati objekt
Izjava o objektu također se naziva i instanciranje objekata na Javi. Deklaracija objekta je isto što i deklariranje varijable.
Na primjer, klasa Customer_Account koju smo gore proglasili može se koristiti za deklariranje objekta.
Stoga deklariramo ili instanciramo objekt Customer_Account kako slijedi:
Customer_Account account;
Gornja izjava deklarira ili instancira objekt nazvan ‘račun’ klase Customer_Account.
Imajte na umu da kada instanciramo objekt klase, klasa bi strogo trebala biti „konkretna klasa“. Ne možemo deklarirati objekt apstraktne klase.
Gornja izjava samo deklarira objekt. Ovu varijablu ne možemo koristiti za pozivanje metoda klase ili postavljanje vrijednosti varijabli člana. To je zato što za deklarirani objekt nismo dodijelili memoriju.
Stoga moramo pravilno stvoriti objekt da bismo ga dalje koristili.
Stvarno stvaranje objekta vrši se inicijalizacijom objekata. Nakon što deklariramo objekt, trebamo ga inicijalizirati. Tada samo ovaj objekt možemo koristiti za pristup varijablama članaka i metodama klase.
Kako stvoriti objekt
Objekt u Javi možemo stvoriti pomoću sljedećih metoda:
# 1) Korištenje nove ključne riječi
Objekt možemo inicijalizirati pomoću nove ključne riječi. Ova metoda je najčešće korištena metoda za stvaranje novog objekta.
Na primjer,s obzirom na klasu ABC, možemo stvoriti novi objekt klase kako slijedi:
ABC myObj = new ABC ();
U gornjoj izjavi myObj je novi objekt stvoren pomoću novog operatora. Objekt stvoren ovom metodom ima početne vrijednosti svih članova podataka. Konstrukt ABC () koji slijedi novu ključnu riječ zadani je konstruktor klase ABC.
Također možemo definirati konstruktore s parametrima i pozvati taj konstruktor novom ključnom riječi tako da stvorimo objekt sa željenim vrijednostima članova podataka.
# 2) Korištenje metode Class.forName ()
Java nudi klasu nazvanu 'Klasa' koja čuva sve informacije o klasama i objektima u sustavu. Za izradu objekta možemo koristiti metodu forName () klase ‘Class’. Moramo proslijediti potpuno kvalificirano ime klase kao argument metodi forName.
Tada možemo pozvati metodu newInstance () koja će vratiti instancu klase.
Sljedeći retci koda to pokazuju.
ABC myObj = Class.forName (“com.myPackage.ABC”).newInstance();
Gornja izjava stvorit će novi objekt myObj klase ABC.
# 3) Klonom () Metoda
Klasa objekta u Javi nudi metodu clone () koja vraća klon ili kopiju objekta prosljeđenu kao argument metodi clone ().
Na primjer,
ABC myobj1 = new ABC (); ABC testObj = (ABC) myobj1.clone ();
# 4) Deserijalizacijom
Java nudi tehniku koja se naziva deserializacija, u kojoj čitamo objekt iz spremljene datoteke. Deserijalizaciju ćemo učiti u zasebnom vodiču.
Kako inicijalizirati objekt
U ovom ćemo odjeljku razgovarati o metodama inicijalizacije objekta u Javi. Inicijalizacija se odnosi na dodjeljivanje vrijednosti članovima podataka klase. Slijede neke od metoda koje se koriste za inicijalizaciju objekata u Javi.
# 1) Inicijalizirajte objekt pomoću reference
Stvoreni referentni objekt koristi se za spremanje vrijednosti u objekt. To se postiže jednostavnim korištenjem operatora dodjele.
Inicijalizacija objekta korištenjem reference prikazana je u donjem programu.
//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); } }
Izlaz
Gornji program proglašava studentski razred s tročlanim varijablama. Zatim u glavnoj metodi stvaramo objekt klase Student pomoću nove ključne riječi. Zatim dodijeljujemo podatke svakom od polja članova objekta kao što je prikazano u programu.
# 2) Inicijalizacija objekta kroz metodu
U ovom primjeru stvaramo dva objekta klase Student i inicijaliziramo vrijednost tim objektima pozivajući se na metodu insertRecord. Metoda insertRecord je metoda člana klase 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); } }
Izlaz
# 3) Inicijalizacija objekta kroz konstruktor
Objekt također možemo inicijalizirati pomoću konstruktora.
Program za demonstraciju upotrebe konstruktora dat je u nastavku.
//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); } }
Izlaz
U ovom programu klasa `Student ima parametarski konstruktor koji uzima parametre i dodjeljuje ih članskim varijablama.
Objekt klase Vs na Javi
Razred | Objekt |
---|---|
Polje člana razreda nema vrijednosti. | Svaki objekt ima kopiju polja članova i njima pridruženih vrijednosti. |
Klasa je predložak ili nacrt za stvaranje predmeta. | Objekt je instanca klase. |
Klasa ne dodjeljuje memoriju kada je stvorena. | Objektu se dodjeljuje memorija kada se kreira. |
Klasa je logična cjelina. | Objekt je fizički entitet. |
Klasa se deklarira pomoću ključne riječi klase. | Objekt se stvara pomoću novih metoda forName () .newInstance (), clone (). |
Klasa je skupina identičnih predmeta. Npr. Razredne životinje (). | Objekt je specifična cjelina. Npr. Životinje pas = nove Životinje (); |
Klasa se može prijaviti samo jednom. | Klasa može imati bilo koji broj instanci ili objekata. |
Često postavljana pitanja
P # 1) Koja je razlika između klase i objekta?
Odgovor: Klasa je predložak koji se koristi za stvaranje objekata. Objekt je instanca klase. Dok je klasa logički entitet, objekt je fizički entitet. Svaki objekt ima stanje u kojem sve varijable članice imaju određene vrijednosti. Razred nema državu.
P # 2) Što sadrži Java klasa?
Odgovor: Java klasa koja djeluje kao predložak ili nacrt za stvaranje objekata definira svojstva ili polja i ponašanja ili metode.
P # 3) Zašto koristimo nastavu u Javi?
Odgovor: Korištenjem klasa i objekata možemo modelirati stvarne programe na Javi i tako ih učinkovito riješiti. Objekti sa stanjem i ponašanjem predstavljaju entitete iz stvarnog svijeta, a klase djeluju kao njihovi nacrti. Stoga korištenjem klasa kao gradivnih blokova možemo modelirati bilo koju složenu aplikaciju.
P # 4) Objasnite klasu i objekt na primjeru iz stvarnog života.
Odgovor: Ako automobil uzmemo kao objekt, automobil može imati atribute kao što su marka, boja, motor, kilometraža itd. Također može imati neke metode poput start (), stop (), applybrakes (). Tako automobil možemo modelirati u softverski objekt. Sada automobil može imati razne marke poput Marutija, Fiata itd.
Dakle, da bismo predstavili sve ove modele automobila, možemo imati predložak klase koji će sadržavati sve uobičajene atribute i metode definirane tako da možemo napraviti instancu ove klase i dobiti željeni objekt automobila.
Tako se automobil iz stvarnog života može lako pretvoriti u objekt na Javi.
Zaključak
U ovom uputstvu naučili smo detalje klasa i objekata u Javi. Obradili smo definiciju klase i objekta. Vodič ima detaljnu raspravu o definiranju klase, komponenata klase, kao i primjere kako koristiti nastavu u programu.
Također smo naučili detalje objekata u Javi, uključujući njihovo deklariranje, kreiranje, inicijalizaciju itd. S odgovarajućim primjerima programiranja.
Istražili smo glavne razlike između klase i predmeta. U sljedećim ćemo tutorijalima raspravljati o vrstama klasa i konstruktorima u nastavi slijedeći koje ćemo prijeći na druge teme.
=> Ovdje pripazite na jednostavnu seriju Java treninga.
Preporučena literatura
- Osnove Java: Java sintaksa, Java klasa i osnovni koncepti Java
- Java Integer i Java BigInteger klasa s primjerima
- Što je Java Vector | Vodič za Java Vector Class s primjerima
- OOP Java: Uvod u objektno orijentirano programiranje na Javi
- Java Array Class Tutorial - java.util.Arrays Class s primjerima
- Vodič za razred Java Scannera s primjerima
- Niz objekata u Javi: kako stvoriti, inicijalizirati i koristiti
- Vrste nastave u Javi: sažetak, konkretno, završno, statično