java class vs object how use class
V tomto tutoriáli si podrobne rozoberieme jeden z konceptov OOPS. Preskúmame všetko o triede Java a objektoch spolu s príkladmi:
Vieme, že objektovo orientované programovanie zdôrazňuje dáta a teda sa točí okolo entít nazývaných objekty. Triedy slúžia ako plány týchto objektov.
Pozrime sa, ako vytvoriť triedu a jej komponenty. Ďalej sa v tomto výučbe naučíme vytvárať a inicializovať objekty v Jave pomocou príkladov programovania.
=> Navštívte tu sériu exkluzívnych výukových programov Java.
Čo sa dozviete:
Triedy a objekty v Jave
V Jave sú všetky funkcie, atribúty, metódy atď. Prepojené s triedami a objektmi. Program Java nemôžeme napísať iba pomocou hlavnej funkcie bez toho, aby sme triedu deklarovali tak, ako to môžeme robiť v C ++.
Napríklad, ak chceme na vozidlo napísať program, vozidlo je objekt v reálnom čase. Ale vozidlá môžu byť rôznych typov. To znamená, že vozidlo má atribút typu, ktorý môže nadobúdať rôzne hodnoty, ako napríklad auto, nákladné auto, skúter, bicykel atď.
Takže ako vyjadrujeme objekt vozidla v Jave, vytvoríme triedu „Vozidlo“ a potom definujeme jeho rôzne atribúty. Potom môžeme deklarovať rôzne objekty triedy Vozidlá ako auto, bicykel atď.
Vo vnútri triedy môžeme definovať vlastnosti vozidla ako atribúty triedy (dátové členy) a metódy ako startVehicle (), stopVehicle () atď.
Týmto spôsobom, aby sme vyjadrili aj najmenšiu entitu v Jave, musíme najskôr identifikovať objekt a potom definovať jeho plán alebo triedu.
Poďme sa teda najskôr naučiť všetko o triedach a objektoch a potom prejsť na ďalšie koncepty OOP v Jave.
Trieda v Jave
Na vývoj programu v Jave využívame objekty a triedy. Zatiaľ čo trieda v Jave je iba logická jednotka, objekt v Jave je fyzická aj logická entita.
Čo je to objekt v Jave?
Objekt je entita, ktorá má stav a vykazuje správanie. Napríklad, objektom je akákoľvek skutočná entita ako pero, notebook, mobil, stôl, stolička, auto atď. Všetky tieto objekty sú buď fyzické (hmotné), alebo logické (nehmotné).
Nehmotnými objektmi sú väčšinou letecký systém, bankový systém atď. Sú to logické entity, ktoré majú konkrétny stav a správanie.
najlepší bezplatný firewall pre Windows 7
Každý objekt má nasledujúce hlavné vlastnosti:
- Totožnosť: Jedinečné ID definuje identitu objektu. Toto ID bežný užívateľ nevidí, ale interne ho JVM používa na jednoznačnú identifikáciu objektu.
- Štát: Definuje súčasné údaje v objekte alebo hodnotu objektu.
- Správanie: Táto vlastnosť predstavuje funkčnosť (správanie) objektu. Napríklad, objekt vozidla, o ktorom sme hovorili vyššie, sa chová ako štart, stop atď.
Keď definujeme triedu, vrátime sa k definícii objektu.
Čo je to teda Trieda?
Vieme, že hlavnou zložkou objektovo orientovaného programovania je objekt. Ak chceme postaviť konkrétny typ objektu, potrebujeme plán. Tento plán nám poskytne súbor pokynov, ktoré nám pomôžu postaviť objekt.
Napríklad, povedzme, že chceme postaviť dom. Dom je tu objekt. Na stavbu domu potrebujeme počiatočný plán domu. Nemôžeme ísť priamo postaviť dom, ako sa nám páči.
Tu prichádza na rad trieda. Aby sme teda vytvorili objekt alebo entitu zo skutočného života, najskôr budeme mať plán, ktorý určuje obsah a správanie objektu. Toto je známe ako trieda v objektovo orientovanom programovaní.
Takže trieda môže byť definovaná ako „ plán alebo šablóna a definuje stav a správanie objektu “.
Triedu môžeme tiež zobraziť ako skupinu objektov. Táto skupina má niektoré vlastnosti, ktoré sú spoločné pre všetky objekty.
Pozrime sa, ako vytvoriť triedu v Jave.
Ako vytvoriť triedu v Jave
Všeobecná syntax triedy pre definíciu triedy v Jave je:
class extends implements interface_name> { //fields; //constructors //methods; //blocks }
Vyššie uvedená všeobecná deklarácia triedy je znázornená na nasledujúcom diagrame s príkladom deklarácie triedy:
Všimnite si, že nadtrieda a rozhranie v deklarácii triedy sú voliteľné. Môžeme si zvoliť samostatnú triedu bez toho, aby sme ju rozšírili z inej nadtriedy alebo implementovali akékoľvek rozhranie.
Vyššie uvedená všeobecná definícia tiež ukázala komponenty, ktoré môžu byť prítomné v definícii triedy.
Súčasti triedy
Ďalej sú zobrazené komponenty triedy.
Ako je znázornené na vyššie uvedenom diagrame, trieda Java obsahuje nasledujúce komponenty:
- Polia
- Metódy
- Konštruktéri
- Bloky
- Vnorená trieda a rozhranie
Ďalej budeme diskutovať o prvých troch zložkách. Tieto komponenty sú vyžadované v každej triede. Vnorené triedy a rozhrania sú úplne inou témou a budú sa o nich diskutovať v našich ďalších tutoriáloch.
Než začneme diskusiu o komponentoch triedy, najskôr si zadefinujme triedu 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); } }
Polia
Polia sú premenné alebo údaje triedy. Polia sa v Jave nazývajú aj ako členské premenné. Pojmy pole a premenná používame zameniteľné.
Polia triedy sú zvyčajne dva typy:
# 1) Premenné triedy: Premenné triedy sú deklarované slovom „static“, takže sú statickými premennými. To znamená, že tento typ premennej má iba jednu kópiu na triedu bez ohľadu na to, koľko inštancií alebo objektov je pre túto triedu k dispozícii.
# 2) Premenné inštancie: Sú opakom premenných triedy. Dátové členy sa nazývajú premenné inštancie, pretože tieto premenné majú za behu pre každú inštanciu triedy pridelenú samostatnú pamäť.
Vo vyššie uvedenej definícii triedy sme si ukázali premenné triedy aj inštancie. Premenná „bank_name“ deklarovaná pomocou statického modifikátora je premenná triedy. Ďalšie dve premenné „customer_accNo“ a „customer_name“ sú premenné inštancie.
Staviteľ
Konštruktory sú špeciálne metódy, ktoré sa zvyčajne používajú na inicializáciu inštancie triedy. Konštruktory nemajú návratový typ, majú rovnaký názov ako trieda a môžu alebo nemusia obsahovať parametre.
Vo vyššie uvedenej definícii triedy máme jedného konštruktora.
Customer_Account (long accountnum, String accName)
Viac sa o konštruktoroch dozvieme v našich ďalších tutoriáloch.
Metóda
Metóda v triede Java je funkcia, ktorá definuje správanie objektu a jeho členov.
Metóda triedy je vytvorená rovnakým spôsobom, akým vytvárame bežné metódy v programe. Vo vnútri metódy triedy môžeme použiť všetky konštrukty a funkcie poskytované jazykom Java.
V našom príklade definície triedy máme metódu „printInfo“, ktorá zobrazuje rôzne dátové členy triedy.
Metóda triedy Java má zvyčajne nasledujúci prototyp:
method_name(parameter list…){ //code blocks }
K metódam triedy má prístup inštancia triedy pomocou bodkového operátora. Takže ak vytvoríme inštanciu acc vyššie uvedenej triedy „Customer_Account“, potom môžeme pristupovať k printInfo pomocou nižšie uvedeného riadku kódu.
acc.printInfo();
Ak je access_modifier statický, potom na prístup k metóde nepotrebujeme inštanciu. Na prístup k metóde môžeme priamo použiť názov triedy ako,
Custome_Account.printInfo ();
Príklad triedy Java
Poďme si implementovať jednoduchý príklad na demonštráciu Triedy a Objektu v Jave.
//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); } }
Výkon
otázky týkajúce sa rozhovorov o oddychových webových službách
Vyššie uvedený program vyhlasuje triedu Student. Má tri inštančné premenné, tj. student_id, student_name a student_marks.
Potom definujeme hlavnú triedu, v ktorej deklarujeme objekt triedy Student s názvom student_object. Potom pomocou bodkového operátora vstúpime do premenných inštancie a vytlačíme ich hodnoty.
Vyššie uvedený program je príkladom hlavnej metódy mimo triedy.
V nasledujúcom príklade budeme mať v rámci triedy hlavnú metódu.
//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); } }
Výkon
Vyššie uvedený program je rovnaký ako predchádzajúci program, okrem toho, že hlavná metóda je v triede Student.
Objekt v Jave
Teraz máme dostatok vedomostí o triedach v Jave, môžeme objekt predefinovať z hľadiska triedy. Takže objekt je „ inštancia triedy “. Takto vytvoríme premennú alebo inštanciu typu class_name a bude sa nazývať objekt.
Niektoré body, ktoré si treba pamätať na objekt:
- Objekt je spolu s triedou považovaný za základnú jednotku OOP.
- Objekt je jednotka runtime.
- Objekt sa nazýva inštancia triedy.
- Objekt má správanie a stav.
- Objekt prevezme všetky vlastnosti a atribúty triedy, ktorej je inštanciou. Ale v každom okamihu má každý objekt odlišné stavy alebo hodnoty premenných.
- Objekt sa používa na vyjadrenie entity v softvérových aplikáciách v reálnom čase.
- Jedna trieda môže mať ľubovoľný počet objektov.
- Objekty navzájom interagujú pomocou vyvolávacích metód.
Ako vytvoriť inštanciu objektu
Vyhlásenie o objekte sa tiež nazýva inštancia objektov v Jave. Deklarácia objektu je rovnaká ako deklarácia premennej.
Napríklad, trieda Customer_Account, ktorú sme deklarovali vyššie, sa dá použiť na vyhlásenie objektu.
Takto deklarujeme alebo inštancujeme objekt objektu Customer_Account nasledovne:
Customer_Account account;
Vyššie uvedené vyhlásenie deklaruje alebo vytvorí inštanciu objektu s názvom „účet“ triedy Customer_Account.
Upozorňujeme, že keď vytvoríme inštanciu objektu triedy, trieda by mala byť striktne „konkrétnou triedou“. Nemôžeme vyhlásiť objekt abstraktnej triedy.
Vyššie uvedené vyhlásenie iba deklaruje objekt. Túto premennú nemôžeme použiť na vyvolanie metód triedy alebo na nastavenie hodnôt členských premenných. Je to tak preto, lebo sme pre deklarovaný objekt nepridelili žiadnu pamäť.
Musíme teda správne vytvoriť objekt, aby sme ho mohli ďalej používať.
Samotné vytvorenie objektu sa uskutoční inicializáciou objektov. Hneď ako deklarujeme objekt, musíme ho inicializovať. Potom iba my môžeme tento objekt použiť na prístup k členským premenným a metódam triedy.
Ako vytvoriť objekt
Objekt v Jave môžeme vytvoriť pomocou nasledujúcich metód:
# 1) Používanie nového kľúčového slova
Objekt môžeme inicializovať pomocou nového kľúčového slova. Táto metóda je najbežnejšie používanou metódou na vytvorenie nového objektu.
Napríklad,vzhľadom na triedu ABC môžeme vytvoriť nový objekt triedy nasledovne:
ABC myObj = new ABC ();
Vo vyššie uvedenom vyhlásení je myObj nový objekt vytvorený pomocou nového operátora. Objekt vytvorený pomocou tejto metódy má počiatočné hodnoty všetkých údajových členov. Konštrukt ABC () nasledujúci za novým kľúčovým slovom je predvoleným konštruktorom triedy ABC.
Môžeme tiež definovať konštruktory s parametrami a zavolať tento konštruktor novým kľúčovým slovom, aby sme vytvorili objekt s požadovanými hodnotami údajových členov.
# 2) Použitie metódy Class.forName ()
Java poskytuje triedu s názvom „Class“, ktorá uchováva všetky informácie o triedach a objektoch v systéme. Na vytvorenie objektu môžeme použiť metódu forName () triedy ‘Class’. Metóde forName musíme odovzdať plne kvalifikovaný názov triedy ako argument.
Potom môžeme zavolať metódu newInstance (), ktorá vráti inštanciu triedy.
Ukazujú to nasledujúce riadky kódu.
ABC myObj = Class.forName (“com.myPackage.ABC”).newInstance();
Vyššie uvedené vyhlásenie vytvorí nový objekt myObj triedy ABC.
# 3) Metódou clone ()
Trieda objektov v Jave poskytuje metódu clone (), ktorá vracia klon alebo kópiu objektu odovzdaného ako argument metóde clone ().
Napríklad,
ABC myobj1 = new ABC (); ABC testObj = (ABC) myobj1.clone ();
# 4) Deserializáciou
Java poskytuje techniku nazývanú deserializácia, pri ktorej čítame objekt z uloženého súboru. Deserializáciu sa budeme učiť v samostatnom návode.
Ako inicializovať objekt
V tejto časti sa budeme zaoberať metódami inicializácie objektu v prostredí Java. Inicializácia sa týka priradenia hodnôt dátovým členom triedy. Ďalej uvádzame niektoré z metód, ktoré sa používajú na inicializáciu objektov v prostredí Java.
# 1) Inicializujte objekt pomocou referencie
Vytvorený referenčný objekt sa používa na ukladanie hodnôt v objekte. To sa deje jednoducho pomocou operátora priradenia.
Inicializácia objektu pomocou odkazu je uvedená v nasledujúcom programe.
nedefinovaný odkaz na funkciu c ++
//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); } }
Výkon
Vyššie uvedený program deklaruje triedu Student s trojčlennými premennými. Potom v hlavnej metóde pomocou nového kľúčového slova vytvoríme objekt triedy Student. Potom priradíme údaje ku každému z členských polí objektu, ako je to znázornené v programe.
# 2) Inicializácia objektu metódou
V tomto príklade vytvárame dva objekty triedy Student a inicializujeme hodnotu týchto objektov vyvolaním metódy insertRecord. Metóda insertRecord je členskou metódou triedy 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); } }
Výkon
# 3) Inicializácia objektu prostredníctvom konštruktora
Objekt môžeme tiež inicializovať pomocou konštruktora.
Program na demonštráciu použitia konštruktoru je uvedený nižšie.
//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); } }
Výkon
V tomto programe trieda` Student má parametrizovaný konštruktor, ktorý preberá parametre a priraďuje ich k členským premenným.
Objekt triedy Vs v Jave
Trieda | Objekt |
---|---|
Pole člena triedy nemá žiadne hodnoty. | Každý objekt má kópiu členských polí a s nimi spojených hodnôt. |
Trieda je šablóna alebo plán na vytvorenie objektu. | Objekt je inštanciou triedy. |
Trieda po vytvorení nepridelí žiadnu pamäť. | Po vytvorení je objektu pridelená pamäť. |
Trieda je logická entita. | Objekt je fyzická entita. |
Trieda sa deklaruje pomocou kľúčového slova triedy. | Objekt je vytváraný pomocou nových metód, forName () .newInstance (), clone (). |
Trieda je skupina identických objektov. Napr. Triedne zvieratá (). | Objekt je konkrétna entita. Napr. Zvieratá pes = nové Zvieratá (); |
Triedu je možné vyhlásiť iba raz. | Trieda môže mať ľubovoľný počet inštancií alebo objektov. |
často kladené otázky
Otázka 1) Aký je rozdiel medzi triedou a objektom?
Odpoveď: Trieda je šablóna používaná na vytváranie objektov. Objekt je inštanciou triedy. Zatiaľ čo trieda je logická entita, objekt je fyzická entita. Každý objekt má stav, v ktorom majú všetky členské premenné konkrétne hodnoty. Trieda nemá štát.
Otázka 2) Čo obsahuje trieda Java?
Odpoveď: Trieda Java, ktorá slúži ako šablóna alebo plán na vytváranie objektov, definuje vlastnosti alebo polia a správanie alebo metódy.
Otázka č. 3) Prečo používame triedy v Jave?
Odpoveď: Pomocou tried a objektov môžeme modelovať reálne aplikácie v Jave a efektívne ich tak riešiť. Objekty so stavom a správaním predstavujú entity v reálnom svete a triedy slúžia ako ich plány. Preto pomocou tried ako stavebných prvkov môžeme modelovať každú zložitú aplikáciu.
Otázka č. 4) Vysvetlite triedu a objekt na príklade z reálneho života.
Odpoveď: Ak vezmeme auto ako objekt, potom môže mať auto atribúty ako značka, farba, motor, počet najazdených kilometrov atď. Môže mať aj niektoré metódy, ako je štart (), stop (), brzdenie (). Takto môžeme z auta vymodelovať softvérový objekt. Teraz môže mať auto rôzne značky ako Maruti, Fiat atď.
Aby sme reprezentovali všetky tieto modely automobilov, môžeme mať šablónu triedy, ktorá bude obsahovať všetky bežné atribúty a metódy definované, aby sme mohli vytvoriť z tejto triedy inštanciu a získať požadovaný objekt automobilu.
Auto v reálnom živote tak možno ľahko premeniť na objekt v Jave.
Záver
V tomto tutoriáli sme sa dozvedeli podrobnosti o triedach a objektoch v Jave. Pokryli sme definíciu triedy a objektu. V tomto výučbe sa podrobne diskutuje o definovaní triedy, komponentov triedy, ako aj o príkladoch použitia triedy v programe.
Dozvedeli sme sa tiež podrobnosti o objektoch v Jave vrátane ich deklarácie, vytvorenia, inicializácie atď. S príslušnými príkladmi programovania.
Preskúmali sme hlavné rozdiely medzi triedou a objektmi. V našich ďalších tutoriáloch si rozoberieme typy tried a konštruktory v triede, po ktorých prejdeme na ďalšie témy.
=> Dajte si pozor na jednoduchú sériu školení Java tu.
Odporúčané čítanie
- Základy jazyka Java: Java Syntax, trieda Java a základné koncepty Java
- Celé číslo Java a trieda Java BigInteger s príkladmi
- Čo je Java Vector | Výukový program Java Vector Class s príkladmi
- OOP Java: Úvod do objektovo orientovaného programovania v Jave
- Výukový program triedy Java Array - java.util. Trieda polí s príkladmi
- Výukový program triedy skenerov Java s príkladmi
- Pole objektov v Jave: Ako vytvárať, inicializovať a používať
- Typy tried v prostredí Java: abstraktné, konkrétne, konečné, statické