- Obiect în Java
- Clasă în Java
- Variabilă de instanță în Java
- Metoda în Java
- Exemplu de obiect și clasă care păstrează evidența elevului
- Obiect anonim
În această pagină, vom afla despre obiectele și clasele Java. În tehnica de programare orientată pe obiecte, proiectăm un program folosind obiecte și clase.
Un obiect în Java este atât o entitate fizică, cât și o entitate logică, în timp ce o clasă în Java este doar o entitate logică.
Ce este un obiect în Java
O entitate care are stare și comportament este cunoscută ca obiect, de exemplu, scaun, bicicletă, marker, pix, masă, mașină etc. Poate fi fizică sau logică (tangibil și intangibil). Exemplul unui obiect intangibil este sistemul bancar.
Un obiect are trei caracteristici:
De exemplu, Pen este un obiect. Numele lui este Reynolds; culoarea este albă, cunoscută drept starea sa. Este folosit pentru a scrie, deci scrisul este comportamentul lui.
Un obiect este o instanță a unei clase. O clasă este un șablon sau un plan din care sunt create obiecte. Deci, un obiect este instanța (rezultatul) unei clase.
Definiții obiect:
- Un obiect este o entitate din lumea reală .
- Un obiect este o entitate de rulare .
- Obiectul este o entitate care are stare și comportament .
- Obiectul este o instanță a unei clase .
Ce este o clasă în Java
O clasă este un grup de obiecte care au proprietăți comune. Este un șablon sau un plan din care sunt create obiectele. Este o entitate logică. Nu poate fi fizic.
O clasă în Java poate conține:
Sintaxa pentru declararea unei clase:
class { field; method; }
Variabilă de instanță în Java
O variabilă care este creată în interiorul clasei, dar în afara metodei este cunoscută ca variabilă de instanță. Variabila de instanță nu primește memorie în timpul compilării. Obține memorie în timpul execuției atunci când este creat un obiect sau o instanță. De aceea este cunoscută ca o variabilă de instanță.
Metoda în Java
În Java, o metodă este ca o funcție care este folosită pentru a expune comportamentul unui obiect.
Avantajul metodei
- Reutilizarea codului
- Optimizarea codului
cuvânt cheie nou în Java
Cuvântul cheie nou este folosit pentru a aloca memorie în timpul rulării. Toate obiectele primesc memorie în zona de memorie Heap.
Exemplu obiect și clasă: principal în cadrul clasei
În acest exemplu, am creat o clasă Student care are doi membri de date, id și nume. Creăm obiectul clasei Student prin cuvânt cheie nou și imprimăm valoarea obiectului.
Aici, creăm o metodă main() în interiorul clasei.
Fișier: Student.java
//Java Program to illustrate how to define a class and fields //Defining a Student class. class Student{ //defining fields int id;//field or data member or instance variable String name; //creating main method inside the Student class public static void main(String args[]){ //Creating an object or instance Student s1=new Student();//creating an object of Student //Printing values of the object System.out.println(s1.id);//accessing member through reference variable System.out.println(s1.name); } }Testează-l acum
Ieșire:
0 null
Exemplu obiect și clasă: principal în afara clasei
În dezvoltarea în timp real, creăm clase și le folosim dintr-o altă clasă. Este o abordare mai bună decât cea anterioară. Să vedem un exemplu simplu, în care avem metoda main() într-o altă clasă.
unghi ascutit
Putem avea mai multe clase în diferite fișiere Java sau un singur fișier Java. Dacă definiți mai multe clase într-un singur fișier sursă Java, este o idee bună să salvați numele fișierului cu numele clasei care are metoda main().
Fișier: TestStudent1.java
//Java Program to demonstrate having the main method in //another class //Creating Student class. class Student{ int id; String name; } //Creating another class TestStudent1 which contains the main method class TestStudent1{ public static void main(String args[]){ Student s1=new Student(); System.out.println(s1.id); System.out.println(s1.name); } }Testează-l acum
Ieșire:
0 null
3 moduri de a inițializa obiectul
Există 3 moduri de a inițializa obiectul în Java.
- După variabila de referință
- Prin metoda
- Prin constructor
1) Exemplu de obiect și clasă: Inițializare prin referință
Inițializarea unui obiect înseamnă stocarea datelor în obiect. Să vedem un exemplu simplu în care vom inițializa obiectul printr-o variabilă de referință.
Fișier: TestStudent2.java
class Student{ int id; String name; } class TestStudent2{ public static void main(String args[]){ Student s1=new Student(); s1.id=101; s1.name='Sonoo'; System.out.println(s1.id+' '+s1.name);//printing members with a white space } }Testează-l acum
Ieșire:
101 Sonoo
De asemenea, putem crea mai multe obiecte și stoca informații în ele prin variabila de referință.
Fișier: TestStudent3.java
class Student{ int id; String name; } class TestStudent3{ public static void main(String args[]){ //Creating objects Student s1=new Student(); Student s2=new Student(); //Initializing objects s1.id=101; s1.name='Sonoo'; s2.id=102; s2.name='Amit'; //Printing data System.out.println(s1.id+' '+s1.name); System.out.println(s2.id+' '+s2.name); } }Testează-l acum
Ieșire:
101 Sonoo 102 Amit
2) Exemplu de obiect și clasă: Inițializare prin metodă
În acest exemplu, creăm cele două obiecte ale clasei Student și inițializam valoarea acestor obiecte prin invocarea metodei insertRecord. Aici, afișăm starea (datele) obiectelor prin invocarea metodei displayInformation().
apelarea funcției js din html
Fișier: TestStudent4.java
class Student{ int rollno; String name; void insertRecord(int r, String n){ rollno=r; name=n; } void displayInformation(){System.out.println(rollno+' '+name);} } class TestStudent4{ public static void main(String args[]){ Student s1=new Student(); Student s2=new Student(); s1.insertRecord(111,'Karan'); s2.insertRecord(222,'Aryan'); s1.displayInformation(); s2.displayInformation(); } }Testează-l acum
Ieșire:
111 Karan 222 Aryan
După cum puteți vedea în figura de mai sus, obiectul primește memoria în zona de memorie heap. Variabila de referință se referă la obiectul alocat în zona de memorie heap. Aici, s1 și s2 sunt ambele variabile de referință care se referă la obiectele alocate în memorie.
3) Exemplu de obiect și clasă: Inițializare printr-un constructor
Vom afla mai târziu despre constructori în Java.
Exemplu de obiect și clasă: Angajat
Să vedem un exemplu în care ținem evidența angajaților.
Fișier: TestEmployee.java
class Employee{ int id; String name; float salary; void insert(int i, String n, float s) { id=i; name=n; salary=s; } void display(){System.out.println(id+' '+name+' '+salary);} } public class TestEmployee { public static void main(String[] args) { Employee e1=new Employee(); Employee e2=new Employee(); Employee e3=new Employee(); e1.insert(101,'ajeet',45000); e2.insert(102,'irfan',25000); e3.insert(103,'nakul',55000); e1.display(); e2.display(); e3.display(); } }Testează-l acum
Ieșire:
101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0
Exemplu de obiect și clasă: dreptunghi
Este dat un alt exemplu care menține înregistrările clasei Rectangle.
Fișier: TestRectangle1.java
class Rectangle{ int length; int width; void insert(int l, int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle1{ public static void main(String args[]){ Rectangle r1=new Rectangle(); Rectangle r2=new Rectangle(); r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } }Testează-l acum
Ieșire:
55 45
Care sunt diferitele moduri de a crea un obiect în Java?
Există multe modalități de a crea un obiect în java. Sunt:
- Prin cuvânt cheie nou
- Prin metoda newInstance().
- Prin metoda clone().
- Prin deserializare
- Prin metoda din fabrică etc.
Vom învăța aceste moduri de a crea obiecte mai târziu.
Obiect anonim
Anonim înseamnă pur și simplu fără nume. Un obiect care nu are nicio referință este cunoscut ca obiect anonim. Poate fi folosit numai în momentul creării obiectului.
Dacă trebuie să utilizați un obiect o singură dată, un obiect anonim este o abordare bună. De exemplu:
new Calculation();//anonymous object
Metoda de apel printr-o referință:
Calculation c=new Calculation(); c.fact(5);
Metoda de apel printr-un obiect anonim
new Calculation().fact(5);
Să vedem exemplul complet al unui obiect anonim în Java.
class Calculation{ void fact(int n){ int fact=1; for(int i=1;i<=n;i++){ fact="fact*i;" } system.out.println('factorial is '+fact); public static void main(string args[]){ new calculation().fact(5); calling method with anonymous object < pre> <p>Output:</p> <pre> Factorial is 120 </pre> <a id="objectbyonetype"></a> <h3>Creating multiple objects by one type only</h3> <p>We can create multiple objects by one type only as we do in case of primitives.</p> <p>Initialization of primitive variables:</p> <pre> int a=10, b=20; </pre> <p>Initialization of refernce variables:</p> <pre> Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects </pre> <p>Let's see the example:</p> <pre> //Java Program to illustrate the use of Rectangle class which //has length and width data members class Rectangle{ int length; int width; void insert(int l,int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle2{ public static void main(String args[]){ Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } </pre> <span> Test it Now </span> <p>Output:</p> <pre> 55 45 </pre> <h3>Real World Example: Account</h3> <p>File: TestAccount.java</p> <pre> //Java Program to demonstrate the working of a banking-system //where we deposit and withdraw amount from our account. //Creating an Account class which has deposit() and withdraw() methods class Account{ int acc_no; String name; float amount; //Method to initialize object void insert(int a,String n,float amt){ acc_no=a; name=n; amount=amt; } //deposit method void deposit(float amt){ amount=amount+amt; System.out.println(amt+' deposited'); } //withdraw method void withdraw(float amt){ if(amount <amt){ system.out.println('insufficient balance'); }else{ amount="amount-amt;" system.out.println(amt+' withdrawn'); } method to check the balance of account void checkbalance(){system.out.println('balance is: '+amount);} display values an object display(){system.out.println(acc_no+' '+name+' creating a test class deposit and withdraw testaccount{ public static main(string[] args){ a1="new" account(); a1.insert(832345,'ankit',1000); a1.display(); a1.checkbalance(); a1.deposit(40000); a1.withdraw(15000); }} < pre> <span> Test it Now </span> <p>Output:</p> <pre> 832345 Ankit 1000.0 Balance is: 1000.0 40000.0 deposited Balance is: 41000.0 15000.0 withdrawn Balance is: 26000.0 </pre></amt){></pre></=n;i++){>
Crearea mai multor obiecte după un singur tip
Putem crea mai multe obiecte după un singur tip, așa cum facem în cazul primitivelor.
Inițializarea variabilelor primitive:
int a=10, b=20;
Inițializarea variabilelor de referință:
Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects
Să vedem exemplul:
//Java Program to illustrate the use of Rectangle class which //has length and width data members class Rectangle{ int length; int width; void insert(int l,int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle2{ public static void main(String args[]){ Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } }Testează-l acum
Ieșire:
55 45
Exemplu din lumea reală: cont
Fișier: TestAccount.java
//Java Program to demonstrate the working of a banking-system //where we deposit and withdraw amount from our account. //Creating an Account class which has deposit() and withdraw() methods class Account{ int acc_no; String name; float amount; //Method to initialize object void insert(int a,String n,float amt){ acc_no=a; name=n; amount=amt; } //deposit method void deposit(float amt){ amount=amount+amt; System.out.println(amt+' deposited'); } //withdraw method void withdraw(float amt){ if(amount <amt){ system.out.println(\'insufficient balance\'); }else{ amount="amount-amt;" system.out.println(amt+\' withdrawn\'); } method to check the balance of account void checkbalance(){system.out.println(\'balance is: \'+amount);} display values an object display(){system.out.println(acc_no+\' \'+name+\' creating a test class deposit and withdraw testaccount{ public static main(string[] args){ a1="new" account(); a1.insert(832345,\'ankit\',1000); a1.display(); a1.checkbalance(); a1.deposit(40000); a1.withdraw(15000); }} < pre> <span> Test it Now </span> <p>Output:</p> <pre> 832345 Ankit 1000.0 Balance is: 1000.0 40000.0 deposited Balance is: 41000.0 15000.0 withdrawn Balance is: 26000.0 </pre></amt){>=n;i++){>