java class vs object how use class
În acest tutorial, vom discuta în detaliu unul dintre conceptele OOPS. Vom explora totul despre clasa și obiectul Java împreună cu exemple:
Știm că programarea orientată pe obiecte pune accentul pe date și astfel se învârte în jurul entităților numite obiecte. Clasele acționează ca planuri ale acestor obiecte.
Să vedem cum să creăm o clasă și componentele acesteia. De asemenea, vom învăța să creăm și să inițializăm obiecte în Java cu ajutorul exemplelor de programare mai târziu în acest tutorial.
cum se deschide un fișier .jar
=> Vizitați aici pentru seria exclusivă de instruiri Java.
Ce veți învăța:
Clase și obiecte în Java
În Java, toate caracteristicile, atributele, metodele etc. sunt legate de clase și obiecte. Nu putem scrie un program Java doar cu funcția principală fără a declara o clasă așa cum putem face în C ++.
De exemplu, dacă vrem să scriem un program pe un vehicul, un vehicul este un obiect în timp real. Dar vehiculele pot fi de diferite tipuri. Aceasta înseamnă că vehiculul are un atribut de tip care poate asuma diferite valori, cum ar fi mașina, camionul, scuterul, bicicleta etc.
Deci, modul în care exprimăm obiectul vehiculului în Java este acela de a crea o clasă „Vehicul” și apoi definim diferitele sale atribute. Apoi, putem declara diverse obiecte din clasa Vehicul, cum ar fi mașina, bicicleta etc.
În interiorul clasei, putem defini proprietățile vehiculului ca atribute ale clasei (membrii datelor) și metode precum startVehicle (), stopVehicle () etc.
În acest fel, pentru a exprima chiar și cea mai mică entitate din Java, trebuie mai întâi să identificăm obiectul și apoi să-i definim planul sau o clasă.
Așadar, să învățăm mai întâi totul despre clase și obiecte și apoi să trecem la celelalte concepte ale OOP în Java.
Clasa în Java
Pentru a dezvolta un program în Java, folosim obiecte și clase. În timp ce o clasă în Java este doar o unitate logică, un obiect în Java este atât o entitate fizică, cât și o entitate logică.
Ce este un obiect în Java?
Un obiect este o entitate care are o stare și prezintă un comportament. De exemplu, orice entitate din viața reală, cum ar fi un stilou, un laptop, un mobil, o masă, un scaun, o mașină etc. este un obiect. Toate aceste obiecte sunt fie fizice (tangibile), fie logice (intangibile).
Obiectele intangibile sunt în mare parte un sistem aerian, un sistem bancar etc. Acestea sunt entități logice care au o stare și un comportament special.
Fiecare obiect are următoarele caracteristici principale:
- Identitate: Un ID unic definește identitatea obiectului. Acest ID nu este văzut de utilizatorul normal, dar intern JVM folosește acest ID pentru a identifica în mod unic obiectul.
- Stat: Acesta definește datele prezente în obiect sau valoarea obiectului.
- Comportament: Această caracteristică reprezintă funcționalitatea (comportamentul) unui obiect. De exemplu, obiectul Vehicul despre care am discutat mai sus are comportamentul ca pornire, oprire etc.
Vom revizita definiția obiectului atunci când definim clasa.
Deci, ce este o clasă?
Știm că componenta principală a programării orientate pe obiecte este un obiect. Dacă vrem să construim un anumit tip de obiect, avem nevoie de un plan. Acest plan ne va oferi un set de instrucțiuni care ne vor ajuta să construim un obiect.
De exemplu, să spunem că vrem să construim o casă. Casa de aici este un obiect. Pentru a construi o casă avem nevoie de un plan inițial pentru casă. Nu putem să construim direct casa după bunul plac.
Aici intervine clasa în imagine. Deci, pentru a construi un obiect sau o entitate din viața reală, vom avea mai întâi un plan care determină conținutul și comportamentul unui obiect. Aceasta este cunoscută ca o clasă în programarea orientată pe obiecte.
Deci, o clasă poate fi definită ca „ un plan sau un șablon și definește starea și comportamentul obiectului ”.
De asemenea, putem vedea clasa ca un grup de obiecte. Acest grup are unele proprietăți care sunt comune între toate obiectele.
Să vedem cum să creăm o clasă în Java.
Cum să creați o clasă în Java
Sintaxa generală de clasă a definiției unei clase în Java este:
class extends implements interface_name> { //fields; //constructors //methods; //blocks }
Declarația generală de mai sus a unei clase este reprezentată în diagrama de mai jos cu un exemplu de declarație de clasă:
Rețineți că superclasa și interfața din declarația de clasă sunt opționale. Putem alege să avem o clasă independentă fără a o extinde dintr-o altă super-clasă sau a implementa nicio interfață.
Definiția generală de mai sus a arătat, de asemenea, componentele care pot fi prezente în definiția clasei.
Componentele clasei
Componentele clasei sunt reprezentate mai jos.
Așa cum se arată în diagrama de mai sus, o clasă Java conține următoarele componente:
- Câmpuri
- Metode
- Constructori
- Blocuri
- Clasa și interfața imbricate
Vom discuta primele trei componente în continuare. Aceste componente sunt necesare în orice clasă. Clasele și interfețele imbricate sunt cu totul alt subiect și vor fi discutate în tutorialele noastre ulterioare.
Înainte de a începe o discuție despre componentele clasei, să definim mai întâi o clasă 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); } }
Câmpuri
Câmpurile sunt variabile sau date ale clasei. Câmpurile sunt, de asemenea, numite ca variabile membre în Java. Folosim alternativ termenii câmp și variabilă.
De obicei, câmpurile unei clase sunt de două tipuri:
cele mai bune site-uri web pentru a viziona anime gratuit
# 1) Variabile de clasă: Variabilele de clasă sunt declarate cu cuvântul „static” astfel încât să fie variabile statice. Aceasta înseamnă că acest tip de variabilă are o singură copie pe clasă, indiferent de câte instanțe sau obiecte sunt prezente pentru acea clasă.
# 2) Variabile de instanță: Acestea sunt opusul variabilelor de clasă. Membrii de date sunt numiți variabile de instanță, deoarece aceste variabile au memorie separată alocată pentru fiecare instanță de clasă la runtime.
În definiția clasei de mai sus, am arătat atât variabile de clasă, cât și variabile de instanță. Variabila „bank_name” declarată cu un modificator static este variabila de clasă. Celelalte două variabile „client_accNo” și „client_name” sunt variabile de instanță.
Constructor
Constructorii sunt metode speciale care sunt utilizate în general pentru a inițializa o instanță a unei clase. Constructorii nu au un tip de returnare, au același nume ca și clasa și pot conține sau nu parametri.
În definiția clasei de mai sus, avem un constructor.
Customer_Account (long accountnum, String accName)
Vom afla mai multe despre constructori în tutorialele noastre ulterioare.
Metodă
O metodă într-o clasă Java este funcția care definește comportamentul obiectului și al membrilor săi.
O metodă de clasă este creată în același mod în care creăm metode regulate într-un program. În cadrul metodei de clasă, putem folosi toate structurile și caracteristicile oferite de Java.
În exemplul nostru de definiție a clasei, avem o metodă „printInfo” care afișează diferiții membri ai clasei.
O metodă de clasă Java are de obicei următorul prototip:
method_name(parameter list…){ //code blocks }
Metodele de clasă sunt accesate de instanța de clasă utilizând operatorul punct. Deci, dacă creăm o instanță acc din clasa de mai sus „Customer_Account”, atunci putem accesa printInfo folosind linia de cod de mai jos.
acc.printInfo();
Dacă access_modifier este static, atunci nu avem nevoie de o instanță pentru a accesa metoda. Putem folosi numele clasei direct pentru a accesa metoda ca,
Custome_Account.printInfo ();
Exemplu de clasă Java
Să implementăm un exemplu simplu pentru a demonstra o clasă și un obiect în Java.
//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); } }
Ieșire
Programul de mai sus declară clasa Student. Are trei variabile de instanță, și anume. student_id, student_name și student_marks.
Apoi definim clasa Main, în care declarăm un obiect al clasei Student numit student_object. Apoi, folosind operatorul punct, accesăm variabilele de instanță și le imprimăm valorile.
Programul de mai sus este un exemplu de metodă principală în afara clasei.
În exemplul de mai jos vom avea o metodă principală în cadrul clasei.
//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); } }
Ieșire
Programul de mai sus este același cu programul anterior, cu excepția faptului că metoda principală se află în clasa Student.
Obiect în Java
Acum, avem suficiente cunoștințe despre cursurile din Java, putem redefini obiectul în termeni de clasă. Deci un obiect este „ o instanță a unei clase ”. Astfel, creăm o variabilă sau o instanță de tip class_name și este denumită obiect.
Câteva puncte de reținut despre un obiect:
- Un obiect este văzut ca o unitate de bază a POO împreună cu clasa.
- Un obiect este o unitate de rulare.
- Un obiect este denumit ca o instanță a unei clase.
- Un obiect are comportament și stare.
- Un obiect preia toate proprietățile și atributele clasei din care este o instanță. Dar, în orice moment, fiecare obiect are stări sau valori variabile diferite.
- Un obiect este utilizat pentru a reprezenta o entitate în timp real în aplicații software.
- O singură clasă poate avea orice număr de obiecte.
- Obiectele interacționează între ele prin invocarea metodelor.
Cum să instanțiați un obiect
Declarația obiectului este, de asemenea, denumită ca instanțierea obiectelor în Java. Declararea unui obiect este aceeași cu declararea unei variabile.
De exemplu, clasa Customer_Account pe care am declarat-o mai sus poate fi utilizată pentru a declara un obiect.
Astfel declarăm sau instanțiem obiectul Customer_Account după cum urmează:
Customer_Account account;
Declarația de mai sus declară sau instanțiază un obiect numit „cont” din clasa Client_Cont.
Rețineți că atunci când instanțiem un obiect al unei clase, clasa ar trebui să fie strict o „clasă concretă”. Nu putem declara un obiect al unei clase abstracte.
Afirmația de mai sus declară doar un obiect. Nu putem folosi această variabilă pentru a apela metode ale clasei sau pentru a seta valorile variabilelor membre. Acest lucru se datorează faptului că nu am alocat nicio memorie pentru obiectul declarat.
Deci, trebuie să creăm în mod corespunzător un obiect pentru al folosi în continuare.
Crearea efectivă a unui obiect se face prin inițializarea obiectelor. Odată ce declarăm un obiect, trebuie să-l inițializăm. Apoi numai noi putem folosi acest obiect pentru a accesa variabilele membre și metodele clasei.
Cum să creați un obiect
Putem crea un obiect în Java folosind următoarele metode:
# 1) Folosirea unui nou cuvânt cheie
Putem inițializa un obiect folosind un nou cuvânt cheie. Această metodă este cea mai frecvent utilizată metodă pentru a crea un obiect nou.
De exemplu,având o clasă ABC, putem crea un nou obiect de clasă după cum urmează:
ABC myObj = new ABC ();
În declarația de mai sus, myObj este noul obiect creat folosind noul operator. Obiectul creat folosind această metodă are valorile inițiale ale tuturor membrilor de date. Constructul ABC () care urmează noului cuvânt cheie este constructorul implicit al clasei ABC.
De asemenea, putem defini constructori cu parametri și apela acel constructor cu noul cuvânt cheie, astfel încât să creăm un obiect cu valorile dorite ale membrilor datelor.
# 2) Folosind metoda Class.forName ()
Java oferă o clasă numită „Class” care păstrează toate informațiile despre clase și obiecte în sistem. Putem folosi metoda forName () a clasei „Class” pentru a crea un obiect. Trebuie să trecem un nume de clasă complet calificat ca argument pentru metoda forName.
Apoi putem apela metoda newInstance () care va returna instanța clasei.
Următoarele linii de cod arată acest lucru.
ABC myObj = Class.forName (“com.myPackage.ABC”).newInstance();
Afirmația de mai sus va crea un nou obiect myObj din clasa ABC.
# 3) Prin metoda clone ()
Clasa obiect în Java oferă o metodă clone () care returnează clona sau copia obiectului trecut ca argument către metoda clone ().
De exemplu,
ABC myobj1 = new ABC (); ABC testObj = (ABC) myobj1.clone ();
# 4) Prin deserializare
Java oferă o tehnică numită deserializare în care citim un obiect dintr-un fișier salvat. Vom învăța deserializarea într-un tutorial separat.
Cum se inițializează un obiect
În această secțiune, vom discuta despre metodele de inițializare a unui obiect în Java. Inițializarea se referă la atribuirea de valori membrilor datelor din clasă. Date mai jos sunt câteva dintre metodele care sunt utilizate pentru inițializarea obiectelor în Java.
# 1) Inițializați un obiect printr-o referință
Obiectul de referință creat este utilizat pentru a stoca valori în obiect. Acest lucru se face pur și simplu utilizând un operator de atribuire.
Inițializarea unui obiect utilizând referința este prezentată în programul de mai jos.
//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); } }
Ieșire
cea mai bună aplicație de schimbare a vocii pentru computer
Programul de mai sus declară o clasă Student cu variabile cu trei membri. Apoi, în metoda principală, creăm un obiect al clasei Student folosind noul cuvânt cheie. Apoi alocăm date fiecărui câmp membru al obiectului așa cum se arată în program.
# 2) Inițializarea obiectului prin metodă
În acest exemplu, creăm cele două obiecte ale clasei Student și inițializăm valoarea acestor obiecte prin invocarea metodei insertRecord. Metoda insertRecord este o metodă membră a clasei 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); } }
Ieșire
# 3) Inițializarea obiectului prin Constructor
De asemenea, putem inițializa un obiect folosind un constructor.
Programul pentru a demonstra utilizarea constructorului este dat mai jos.
//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); } }
Ieșire
În acest program, clasa `Student are un constructor parametrizat care ia parametrii și îi atribuie variabilelor membre.
Obiect de clasă V în Java
Clasă | Obiect |
---|---|
Un câmp de membru al clasei nu are valori. | Fiecare obiect are o copie a câmpurilor membre și a valorilor asociate acestora. |
Clasa este un șablon sau un plan pentru crearea obiectelor. | Obiectul este o instanță a unei clase. |
Clasa nu alocă nicio memorie atunci când este creată. | Obiectului i se alocă memorie atunci când este creat. |
Clasa este o entitate logică. | Obiectul este o entitate fizică. |
Clasa este declarată folosind un cuvânt cheie de clasă. | Obiectul este creat folosind metode noi, forName () .newInstance (), clone (). |
Clasa este un grup de obiecte identice. De exemplu. Animale de clasă (). | Obiectul este o entitate specifică. De exemplu. Animale câine = Animale noi (); |
Clasa poate fi declarată o singură dată. | O clasă poate avea orice număr de instanțe sau obiecte. |
întrebări frecvente
Q # 1) Care este diferența dintre clasă și obiect?
Răspuns: O clasă este un șablon utilizat pentru crearea obiectelor. Un obiect este o instanță a unei clase. În timp ce o clasă este o entitate logică, un obiect este o entitate fizică. Fiecare obiect are o stare în care toate variabilele membre au valori specifice. Clasa nu are o stare.
Q # 2) Ce conține o clasă Java?
Răspuns: O clasă Java care acționează ca șablon sau plan pentru crearea obiectelor definește proprietăți sau câmpuri și comportamente sau metode.
Î. 3) De ce folosim cursurile în Java?
Răspuns: Folosind clase și obiecte putem modela aplicațiile din lumea reală în Java și astfel le putem rezolva eficient. Obiectele cu o stare și un comportament reprezintă entități din lumea reală și clasele acționează ca planurile lor. Prin urmare, folosind clase ca elemente de bază putem modela orice aplicație complexă.
Q # 4) Explicați clasa și obiectul cu un exemplu din viața reală.
Răspuns: Dacă luăm mașina ca obiect, atunci mașina poate avea atribute precum marca, culoarea, motorul, kilometrajul etc. Poate avea și câteva metode precum start (), stop (), applybrakes (). Astfel putem modela o mașină într-un obiect software. Acum mașina poate avea diverse mărci precum Maruti, Fiat etc.
Deci, pentru a reprezenta toate aceste modele de mașini, putem avea un șablon de clasă care va conține toate atributele și metodele comune definite, astfel încât să putem instanția această clasă și să obținem obiectul nostru de mașină dorit.
Astfel, o mașină de obiecte din viața reală poate fi ușor convertită într-un obiect în Java.
Concluzie
În acest tutorial, am aflat detaliile claselor și obiectelor în Java. Am acoperit definiția clasei și a obiectului. Tutorialul are o discuție detaliată despre definirea clasei, componentele clasei, precum și exemple despre modul de utilizare a clasei într-un program.
De asemenea, am aflat detaliile obiectelor din Java, inclusiv declarația, crearea, inițializarea, etc. cu exemple de programare adecvate.
Am explorat principalele diferențe dintre clasă și obiecte. În următoarele tutoriale, vom discuta despre tipurile de clase și despre constructorii din clasă, după care vom trece la alte subiecte.
=> Urmăriți aici seria de antrenament Java simplă.
Lectură recomandată
- Noțiuni de bază Java: Sintaxă Java, Java Class și concepte de bază Java
- Java Integer și Java BigInteger Class cu exemple
- Ce este Java Vector | Tutorial Java Vector Class cu exemple
- OOP Java: Introducere în programarea orientată pe obiecte în Java
- Tutorial Java Array Class - java.util.Arrays Class cu exemple
- Tutorial de clasă Java Scanner cu exemple
- Matrice de obiecte în Java: Cum se creează, se inițializează și se utilizează
- Tipuri de clase în Java: abstract, concret, final, static