logo

Objekti in razredi v Javi

  1. Objekt v Javi
  2. Razred v Javi
  3. Spremenljivka primerka v Javi
  4. Metoda v Javi
  5. Primer predmeta in razreda, ki vodi evidenco študentov
  6. Anonimni predmet

Na tej strani bomo spoznali objekte in razrede Java. V tehniki objektno orientiranega programiranja načrtujemo program z uporabo objektov in razredov.

Objekt v Javi je fizična in tudi logična entiteta, medtem ko je razred v Javi samo logična entiteta.

Kaj je objekt v Javi

objekt v Javi

Entiteta, ki ima stanje in vedenje, je znana kot predmet, npr. stol, kolo, marker, pisalo, miza, avto itd. Lahko je fizična ali logična (opredmetena in nematerialna). Primer neopredmetenega predmeta je bančni sistem.

Objekt ima tri značilnosti:

    Država:predstavlja podatek (vrednost) predmeta.Vedenje:predstavlja vedenje (funkcionalnost) predmeta, kot je depozit, dvig itd.Identiteta:Identiteta objekta je običajno implementirana prek edinstvenega ID-ja. Vrednost ID-ja ni vidna zunanjemu uporabniku. Vendar pa ga interno uporablja JVM za edinstveno identifikacijo vsakega predmeta.
Značilnosti objekta v Javi

Na primer, Pen je predmet. Ime mu je Reynolds; barva je bela, znana kot njeno stanje. Uporablja se za pisanje, zato je pisanje njegovo vedenje.

Objekt je primerek razreda. Razred je predloga ali načrt, iz katerega so ustvarjeni predmeti. Objekt je torej primerek (rezultat) razreda.

Definicije predmetov:

  • Objekt je entiteta iz resničnega sveta .
  • Objekt je izvajalna entiteta .
  • Objekt je subjekt, ki ima stanje in vedenje .
  • Objekt je primerek razreda .

Kaj je razred v Javi

Razred je skupina predmetov, ki imajo skupne lastnosti. Je predloga ali načrt, iz katerega so ustvarjeni predmeti. Je logična entiteta. Ne more biti fizično.

Razred v Javi lahko vsebuje:

    Polja Metode Konstruktorji Bloki Ugnezdeni razred in vmesnik
Razred v Javi

Sintaksa za deklaracijo razreda:

 class { field; method; } 

Spremenljivka primerka v Javi

Spremenljivka, ki je ustvarjena znotraj razreda, a zunaj metode, je znana kot spremenljivka primerka. Spremenljivka primerka med prevajanjem ne dobi pomnilnika. Pomnilnik dobi med izvajanjem, ko je ustvarjen objekt ali primerek. Zato je znana kot spremenljivka primerka.


Metoda v Javi

V Javi je metoda podobna funkciji, ki se uporablja za razkrivanje obnašanja predmeta.

Prednost metode

  • Ponovna uporabnost kode
  • Optimizacija kode

nova ključna beseda v Javi

Nova ključna beseda se uporablja za dodeljevanje pomnilnika med izvajanjem. Vsi objekti dobijo pomnilnik v območju pomnilnika kopice.


Primer predmeta in razreda: glavni znotraj razreda

V tem primeru smo ustvarili razred študenta, ki ima dva podatkovna člana id in ime. Ustvarimo objekt razreda Student z novo ključno besedo in izpišemo vrednost objekta.

Tukaj ustvarjamo metodo main() znotraj razreda.

Datoteka: 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); } } 
Preizkusite zdaj

Izhod:

 0 null 

Primer predmeta in razreda: main zunaj razreda

Pri razvoju v realnem času ustvarimo razrede in jih uporabimo iz drugega razreda. To je boljši pristop od prejšnjega. Oglejmo si preprost primer, kjer imamo metodo main() v drugem razredu.

preveri, ali je v Javi nič

Lahko imamo več razredov v različnih datotekah Java ali eno datoteko Java. Če definirate več razredov v eni izvorni datoteki Java, je dobro, da ime datoteke shranite z imenom razreda, ki ima metodo main().

Datoteka: 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); } } 
Preizkusite zdaj

Izhod:

 0 null 

3 načini inicializacije objekta

Obstajajo 3 načini inicializacije objekta v Javi.

  1. Po referenčni spremenljivki
  2. Po metodi
  3. Po konstruktorju

1) Primer predmeta in razreda: Inicializacija prek reference

Inicializacija objekta pomeni shranjevanje podatkov v objekt. Oglejmo si preprost primer, kjer bomo objekt inicializirali prek referenčne spremenljivke.

Datoteka: 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 } } 
Preizkusite zdaj

Izhod:

 101 Sonoo 

Prav tako lahko ustvarimo več objektov in vanje shranimo informacije prek referenčne spremenljivke.

Datoteka: 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); } } 
Preizkusite zdaj

Izhod:

 101 Sonoo 102 Amit 

2) Primer predmeta in razreda: Inicializacija prek metode

V tem primeru ustvarjamo dva predmeta razreda Student in inicializiramo vrednost teh objektov s klicem metode insertRecord. Tukaj prikazujemo stanje (podatke) objektov s klicem metode displayInformation().

Datoteka: 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(); } } 
Preizkusite zdaj

Izhod:

 111 Karan 222 Aryan 
Objekt v Javi z vrednostmi

Kot lahko vidite na zgornji sliki, objekt dobi pomnilnik v območju pomnilnika kopice. Referenčna spremenljivka se nanaša na objekt, dodeljen v območju pomnilnika kopice. Tukaj sta s1 in s2 referenčni spremenljivki, ki se nanašata na objekte, dodeljene v pomnilniku.


3) Primer predmeta in razreda: Inicializacija prek konstruktorja

Kasneje bomo spoznali konstruktorje v Javi.


Primer predmeta in razreda: Zaposleni

Poglejmo primer, ko vodimo evidenco zaposlenih.

Datoteka: 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(); } } 
Preizkusite zdaj

Izhod:

 101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0 

Primer predmeta in razreda: pravokotnik

Podan je še en primer, ki vzdržuje zapise razreda Rectangle.

Datoteka: 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(); } } 
Preizkusite zdaj

Izhod:

 55 45 

Kakšni so različni načini ustvarjanja predmeta v Javi?

Obstaja veliko načinov za ustvarjanje predmeta v Javi. To so:

  • Z novo ključno besedo
  • Z metodo newInstance().
  • Z metodo clone().
  • Z deserializacijo
  • Po tovarniški metodi itd.

Teh načinov ustvarjanja predmeta se bomo naučili pozneje.

Različni načini ustvarjanja predmeta v Javi

Anonimni predmet

Anonimno preprosto pomeni brezimno. Objekt, ki nima reference, je znan kot anonimni objekt. Uporablja se lahko samo v času ustvarjanja predmeta.

kaj je samodejno ožičeno v Javi

Če morate objekt uporabiti samo enkrat, je anonimni objekt dober pristop. Na primer:

 new Calculation();//anonymous object 

Metoda klica prek reference:

 Calculation c=new Calculation(); c.fact(5); 

Klicna metoda prek anonimnega objekta

 new Calculation().fact(5); 

Oglejmo si celoten primer anonimnega objekta v Javi.

 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&apos;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+&apos; deposited&apos;); } //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++){>

Ustvarjanje več objektov samo z eno vrsto

Ustvarimo lahko več objektov samo z eno vrsto, kot to počnemo v primeru primitivov.

Inicializacija primitivnih spremenljivk:

 int a=10, b=20; 

Inicializacija referenčnih spremenljivk:

 Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects 

Poglejmo primer:

 //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(); } } 
Preizkusite zdaj

Izhod:

 55 45 

Primer iz resničnega sveta: Račun

Datoteka: 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+&apos; deposited&apos;); } //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){>