java class vs object how use class
V tej vadnici bomo podrobno obravnavali enega od konceptov OOPS. Raziskali bomo vse o razredu Java in predmetu ter primere:
Vemo, da objektno usmerjeno programiranje poudarja podatke in se tako vrti okoli entitet, imenovanih objekti. Predavanja delujejo kot načrti teh predmetov.
Poglejmo, kako ustvariti razred in njegove sestavne dele. Kasneje v tej vadnici se bomo naučili tudi ustvarjati in inicializirati predmete v Javi s pomočjo programov.
=> Obiščite tukaj za ekskluzivno serijo vadnic za učenje Java.
Kaj se boste naučili:
Razredi in predmeti v Javi
V Javi so vse funkcije, atributi, metode itd. Povezane z razredi in predmeti. Programa Java ne moremo napisati samo z glavno funkcijo, ne da bi razreda razglasili tako, kot lahko to storimo v jeziku C ++.
Na primer če želimo napisati program na vozilu, je vozilo predmet v realnem času. Toda vozila so lahko različnih vrst. To pomeni, da ima vozilo atribut tipa, ki lahko zajema različne vrednosti, kot so avto, tovornjak, skuter, kolo itd.
Torej, kako izrazimo objekt vozila v Javi, ustvarimo razred 'Vozilo' in nato določimo njegove različne atribute. Nato lahko prijavimo različne predmete razreda vozila, kot so avto, kolo itd.
Znotraj razreda lahko lastnosti vozila določimo kot atribute razreda (člani podatkov) in metode, kot so startVehicle (), stopVehicle () itd.
Na ta način moramo, da izrazimo celo najmanjšo entiteto v Javi, najprej identificirati predmet in nato določiti njegov načrt ali razred.
Najprej se torej naučimo vse o razredih in predmetih, nato pa preidimo na druge koncepte OOP v Javi.
Razred v Javi
Za razvoj programa v Javi uporabljamo predmete in razrede. Medtem ko je razred v Javi le logična enota, je objekt v Javi fizična in logična entiteta.
Kaj je objekt v Javi?
Predmet je entiteta, ki ima stanje in vedenje. Na primer katera koli resnična entiteta, kot so pero, prenosni računalnik, mobilni telefon, miza, stol, avto itd., je predmet. Vsi ti predmeti so bodisi fizični (oprijemljivi) bodisi logični (nematerialni).
Neopredmeteni predmeti so večinoma letalski sistem, bančni sistem itd. To so logične entitete, ki imajo določeno stanje in vedenje.
Vsak predmet ima naslednje glavne značilnosti:
- Identiteta: Edinstveni ID definira identiteto predmeta. Običajni uporabnik tega ID ne vidi, vendar interno JVM uporablja ta ID za enolično identifikacijo predmeta.
- Država: Določa sedanje podatke v predmetu ali vrednost predmeta.
- Vedenje: Ta funkcija predstavlja funkcionalnost (vedenje) predmeta. Na primer predmet Vozilo, ki smo ga obravnavali zgoraj, se obnaša kot zagon, zaustavitev itd.
Definicijo predmeta bomo ponovno pregledali, ko bomo definirali razred.
Torej, kaj je razred?
Vemo, da je glavna sestavina objektno usmerjenega programiranja objekt. Če želimo zgraditi določeno vrsto predmeta, potrebujemo načrt. Ta načrt nam bo dal nabor navodil, ki nam bodo pomagala zgraditi objekt.
Na primer recimo, da želimo zgraditi hišo. Hiša tukaj je objekt. Za gradnjo hiše potrebujemo začetni načrt hiše. Ne moremo se neposredno lotiti gradnje hiše, kot želimo.
Tu nastopi razred. Torej, za izdelavo predmeta ali entitete v resničnem življenju bomo najprej dobili načrt, ki določa vsebino in vedenje predmeta. To je v objektno usmerjenem programiranju znano kot razred.
Torej lahko razred definiramo kot “ načrt ali predlogo in določa stanje in vedenje predmeta '.
Na razred lahko gledamo tudi kot na skupino predmetov. Ta skupina ima nekaj lastnosti, ki so skupne vsem predmetom.
Poglejmo, kako ustvariti razred v Javi.
Kako ustvariti razred v Javi
Splošna sintaksa razreda definicije razreda v Javi je:
class extends implements interface_name> { //fields; //constructors //methods; //blocks }
Zgornja splošna deklaracija razreda je predstavljena v spodnjem diagramu s primerno deklaracijo razreda:
Upoštevajte, da sta superklasa in vmesnik v izjavi razreda neobvezna. Lahko se odločimo za samostojni razred, ne da bi ga razširili iz drugega superklase ali implementirali kateri koli vmesnik.
Zgornja splošna definicija je pokazala tudi komponente, ki so lahko prisotne v definiciji razreda.
Razredne komponente
Komponente razreda so predstavljene spodaj.
Kot je prikazano na zgornjem diagramu, razred Java vsebuje naslednje komponente:
- Polja
- Metode
- Konstruktorji
- Bloki
- Vgnezdeni razred in vmesnik
O prvih treh komponentah bomo razpravljali v nadaljevanju. Te komponente so potrebne v katerem koli razredu. Vgnezdeni razredi in vmesniki so povsem druga tema in bodo obravnavani v naših kasnejših vajah.
Preden začnemo razpravo o komponentah razreda, najprej določimo razred 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 so spremenljivke ali podatki razreda. Polja se v Java imenujejo tudi kot spremenljivke članov. Izrazi polje in spremenljivka uporabljamo zamenljivo.
Polja razreda so običajno dve vrsti:
# 1) Spremenljivke razreda: Spremenljivke razreda so deklarirane z besedo 'static', tako da so statične spremenljivke. To pomeni, da ima ta vrsta spremenljivke samo en izvod na razred, ne glede na to, koliko primerkov ali predmetov je za ta razred.
# 2) Spremenljivke primerka: To so nasprotja spremenljivkam razreda. Člani podatkov se imenujejo spremenljivke primerka, ker imajo te spremenljivke za vsak primerek razreda med izvajanjem ločen pomnilnik.
V zgornji definiciji razreda smo prikazali spremenljivke razreda in primerka. Spremenljivka 'bank_name', deklarirana s statičnim modifikatorjem, je spremenljivka razreda. Drugi dve spremenljivki 'customer_accNo' in 'customer_name' sta spremenljivki primerka.
Graditelj
Konstruktorji so posebne metode, ki se običajno uporabljajo za inicializacijo primerka razreda. Konstruktorji nimajo vrste vrnitve, imajo isto ime kot razred in lahko vsebujejo ali ne parametre.
V zgornji definiciji razreda imamo en konstruktor.
Customer_Account (long accountnum, String accName)
Več o konstruktorjih bomo izvedeli v naslednjih vajah.
Metoda
Metoda v razredu Java je funkcija, ki definira obnašanje predmeta in njegovih članov.
Metoda razreda se ustvari na enak način, kot v programu ustvarimo običajne metode. Znotraj metode razreda lahko uporabimo vse konstrukte in funkcije, ki jih ponuja Java.
V naši vzorčni definiciji razreda imamo metodo 'printInfo', ki prikazuje različne podatkovne člane razreda.
Metoda razreda Java ima običajno naslednji prototip:
method_name(parameter list…){ //code blocks }
Do metod razreda dostopa primerek razreda z uporabo operatorja pike. Torej, če ustvarimo primerek po zgornjem razredu »Customer_Account«, potem lahko dostopamo do printInfo z uporabo spodnje vrstice kode.
acc.printInfo();
Če je access_modifier statičen, potem za dostop do metode ne potrebujemo primerka. Za dostop do metode lahko neposredno uporabimo ime razreda kot,
Custome_Account.printInfo ();
Primer razreda Java
Uvedimo preprost primer za predstavitev razreda in predmeta v 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); } }
Izhod
Zgornji program razglasi študentski razred. Ima tri spremenljivke, tj. student_id, student_name in student_marks.
Nato definiramo glavni razred, v katerem razglasimo objekt študentskega razreda z imenom student_object. Nato z operatorjem pik dostopamo do spremenljivk primerka in natisnemo njihove vrednosti.
Zgornji program je primer glavne metode zunaj razreda.
V spodnjem primeru bomo imeli glavno metodo znotraj razreda.
//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); } }
Izhod
Zgornji program je enak prejšnjemu programu, le da je glavna metoda v razredu Student.
Predmet v Javi
Zdaj imamo dovolj znanja o razredih v Javi, objekt lahko na novo definiramo glede na razred. Predmet je torej primerek razreda '. Tako ustvarimo spremenljivko ali primerek tipa class_name in se imenuje kot objekt.
Nekaj točk, ki si jih morate zapomniti glede predmeta:
- Predmet se kot razred obravnava kot osnovna enota OOP.
- Predmet je izvajalna enota.
- Predmet se imenuje kot primerek razreda.
- Predmet ima vedenje in stanje.
- Predmet prevzame vse lastnosti in atribute razreda, katerega primerek je. Toda kadar koli ima vsak objekt različna stanja ali spremenljive vrednosti.
- Predmet se uporablja za predstavitev entitete v realnem času v programskih aplikacijah.
- Posamezen razred ima lahko poljubno število predmetov.
- Predmeti medsebojno komunicirajo s pomočjo metod priklica.
Kako ponazoriti predmet
Izjava predmeta se imenuje tudi instanciranje predmetov v Javi. Deklaracija objekta je enaka deklaraciji spremenljivke.
Na primer razred Customer_Account, ki smo ga razglasili zgoraj, lahko uporabimo za razglasitev predmeta.
Tako deklariramo ali primerimo objekt Customer_Account, kot sledi:
Customer_Account account;
Zgornji stavek deklarira ali ustvari objekt z imenom „račun“ razreda Customer_Account.
Upoštevajte, da mora biti razred, ko ustvarimo objekt razreda, »konkretni razred«. Ne moremo prijaviti predmeta abstraktnega razreda.
Zgornja izjava samo razglasi objekt. Te spremenljivke ne moremo uporabiti za klicanje metod razreda ali nastavitev vrednosti spremenljivk člana. To je zato, ker za deklarirani objekt nismo dodelili nobenega pomnilnika.
Torej moramo pravilno ustvariti predmet, da ga bomo lahko še naprej uporabljali.
Dejansko ustvarjanje predmeta se izvede z inicializacijo predmetov. Ko predmet razglasimo, ga moramo inicializirati. Takrat lahko samo ta objekt uporabimo za dostop do spremenljivk in metod razreda.
Kako ustvariti predmet
Objekt v Javi lahko ustvarimo z naslednjimi metodami:
# 1) Uporaba nove ključne besede
Predmet lahko inicializiramo z novo ključno besedo. Ta metoda je najpogosteje uporabljena metoda za ustvarjanje novega predmeta.
Na primerglede na razred ABC lahko ustvarimo nov objekt predmeta, kot sledi:
ABC myObj = new ABC ();
V zgornji izjavi je myObj novi objekt, ustvarjen z novim operaterjem. Predmet, ustvarjen s to metodo, ima začetne vrednosti vseh podatkovnih članov. Konstrukt ABC (), ki sledi novi ključni besedi, je privzeti konstruktor razreda ABC.
Prav tako lahko definiramo konstruktorje s parametri in ga pokličemo z novo ključno besedo, tako da ustvarimo objekt z želenimi vrednostmi podatkovnih članov.
# 2) Uporaba metode Class.forName ()
Java ponuja razred z imenom »Class«, ki hrani vse informacije o razredih in predmetih v sistemu. Za ustvarjanje predmeta lahko uporabimo metodo forName () razreda ‘Class’. Kot argument metode forName moramo predati popolnoma kvalificirano ime razreda.
Potem lahko pokličemo metodo newInstance (), ki bo vrnila primerek razreda.
Naslednje vrstice kode to kažejo.
ABC myObj = Class.forName (“com.myPackage.ABC”).newInstance();
Zgornja izjava bo ustvarila nov objekt myObj razreda ABC.
# 3) Z metodo clone ()
Razred predmetov v Javi ponuja metodo clone (), ki vrne klon ali kopijo predmeta, ki je bil poslan kot argument metodi clone ().
Na primer
ABC myobj1 = new ABC (); ABC testObj = (ABC) myobj1.clone ();
# 4) Z deserializacijo
Java ponuja tehniko, imenovano deserializacija, pri kateri preberemo predmet iz shranjene datoteke. Deserializacije se bomo učili v ločeni vadnici.
Kako inicializirati predmet
V tem poglavju bomo razpravljali o metodah za inicializacijo predmeta v Javi. Inicializacija se nanaša na dodeljevanje vrednosti podatkovnim članom razreda. Spodaj je navedenih nekaj metod, ki se uporabljajo za inicializacijo predmetov v Javi.
# 1) Inicializirajte objekt s sklicem
Ustvarjeni referenčni objekt se uporablja za shranjevanje vrednosti v objektu. To se naredi preprosto z uporabo operaterja dodelitve.
kako dodati v polje Java
Inicializacija predmeta z uporabo sklica je prikazana v spodnjem 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); } }
Izhod
Zgornji program razglasi študentski razred s tričlanskimi spremenljivkami. Nato v glavni metodi z novo ključno besedo ustvarimo objekt razreda Student. Nato vsakemu od polj člana predmeta dodelimo podatke, kot je prikazano v programu.
# 2) Inicializacija predmeta z metodo
V tem primeru ustvarjamo dva predmeta razreda Student in inicializiramo vrednost teh predmetov s pomočjo metode insertRecord. Metoda insertRecord je članska metoda predavanja Študent.
//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); } }
Izhod
# 3) Inicializacija predmeta skozi konstruktor
Predmet lahko inicializiramo tudi s pomočjo konstruktorja.
Program za predstavitev uporabe konstruktorja je podan spodaj.
//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); } }
Izhod
V tem programu ima razred 'Student' parametrizirani konstruktor, ki vzame parametre in jih dodeli spremenljivkam članic.
Razred Vs objekt v Javi
Razred | Predmet |
---|---|
Polje člana predavanja nima nobenih vrednosti. | Vsak objekt ima kopijo polj članov in z njimi povezanih vrednosti. |
Razred je predloga ali načrt za ustvarjanje predmetov. | Predmet je primerek razreda. |
Razred pri ustvarjanju ne dodeli nobenega pomnilnika. | Predmetu se ob ustvarjanju dodeli pomnilnik. |
Razred je logična entiteta. | Predmet je fizična entiteta. |
Razred se prijavi s ključno besedo razreda. | Objekt je ustvarjen z novimi metodami forName () .newInstance (), clone (). |
Razred je skupina enakih predmetov. Npr. Razred živali (). | Predmet je posebna entiteta. Npr. Živali pes = nove živali (); |
Razred je mogoče prijaviti samo enkrat. | Razred ima lahko poljubno število primerkov ali predmetov. |
Pogosto zastavljena vprašanja
V # 1) Kakšna je razlika med razredom in predmetom?
Odgovor: Razred je predloga, ki se uporablja za ustvarjanje predmetov. Predmet je primerek razreda. Medtem ko je razred logična entiteta, je objekt fizična entiteta. Vsak objekt ima stanje, v katerem imajo vse spremenljivke članice posebne vrednosti. Razred nima države.
V # 2) Kaj vsebuje razred Java?
Odgovor: Razred Java, ki deluje kot predloga ali načrt za ustvarjanje predmetov, definira lastnosti ali polja in vedenja ali metode.
V # 3) Zakaj uporabljamo tečaje v Javi?
Odgovor: Z uporabo razredov in predmetov lahko modeliramo resnične aplikacije v Javi in jih tako učinkovito rešujemo. Predmeti s stanjem in vedenjem predstavljajo resnične entitete in razredi delujejo kot njihovi načrti. Z uporabo razredov kot gradnikov lahko modeliramo katero koli zapleteno aplikacijo.
V # 4) Razložite razred in predmet s primerom iz resničnega življenja.
Odgovor: Če avto vzamemo za predmet, ima lahko avto lastnosti, kot so znamka, barva, motor, kilometrina itd. Lahko ima tudi nekaj načinov, kot so start (), stop (), applybrakes (). Tako lahko avto modeliramo v programski objekt. Zdaj ima lahko avtomobil različne znamke, kot so Maruti, fiat itd.
Za predstavitev vseh teh modelov avtomobilov imamo lahko predlogo razreda, ki bo vsebovala vse opredeljene skupne atribute in metode, tako da bomo lahko ustvarili primer tega razreda in dobili želeni avtomobilski objekt.
Tako lahko avtomobil iz resničnih predmetov na Javi enostavno pretvorite v objekt.
Zaključek
V tej vadnici smo se naučili podrobnosti razredov in predmetov v Javi. Pokrili smo definicijo razreda in predmeta. Vadnica vsebuje podrobno razpravo o opredelitvi razreda, sestavnih delov predavanja, pa tudi primere uporabe predavanja v programu.
Spoznali smo tudi podrobnosti predmetov v Javi, vključno z njihovo deklaracijo, ustvarjanjem, inicializacijo itd., Z ustreznimi primeri programiranja.
Raziskovali smo glavne razlike med razredom in predmeti. V naslednjih vajah bomo razpravljali o vrstah razredov in konstruktorjih v razredu, po katerih bomo prešli na druge teme.
=> Tukaj bodite pozorni na preprosto serijo Java Training Training.
Priporočeno branje
- Osnove Java: Sintaksa Java, Razred Java in Osnovni koncepti Java
- Java Integer in Java BigInteger Class z primeri
- Kaj je Java Vector | Vadnica Java Vector Class s primeri
- OOP Java: Uvod v objektno usmerjeno programiranje v Javi
- Vadnica razreda Java Array - java.util.Arrays Class z primeri
- Vadnica razreda Java Scanner Class z primeri
- Niz predmetov v Javi: Kako ustvariti, inicializirati in uporabiti
- Vrste pouka v Javi: abstraktno, konkretno, končno, statično