- Objekt i Java
- Klasse i Java
- Forekomstvariabel i Java
- Metode i Java
- Eksempel på objekt og klasse som opprettholder journalene til eleven
- Anonymt objekt
På denne siden vil vi lære om Java-objekter og -klasser. I objektorientert programmeringsteknikk designer vi et program ved hjelp av objekter og klasser.
Et objekt i Java er den fysiske så vel som en logisk enhet, mens en klasse i Java bare er en logisk enhet.
Hva er et objekt i Java
En enhet som har tilstand og atferd er kjent som et objekt, f.eks. stol, sykkel, markør, penn, bord, bil osv. Det kan være fysisk eller logisk (håndgripelig og immateriell). Eksemplet på en immateriell gjenstand er banksystemet.
Et objekt har tre egenskaper:
For eksempel er penn et objekt. Den heter Reynolds; fargen er hvit, kjent som dens tilstand. Den brukes til å skrive, så skriving er dens oppførsel.
Et objekt er en forekomst av en klasse. En klasse er en mal eller blåkopi som objekter lages fra. Så et objekt er forekomsten (resultatet) av en klasse.
Objektdefinisjoner:
- Et objekt er en reell enhet .
- Et objekt er en kjøretidsenhet .
- Objektet er en enhet som har tilstand og atferd .
- Objektet er en forekomst av en klasse .
Hva er en klasse i Java
En klasse er en gruppe objekter som har felles egenskaper. Det er en mal eller blåkopi som objekter lages fra. Det er en logisk enhet. Det kan ikke være fysisk.
En klasse i Java kan inneholde:
Syntaks for å erklære en klasse:
class { field; method; }
Forekomstvariabel i Java
En variabel som er opprettet i klassen, men utenfor metoden, er kjent som en forekomstvariabel. Forekomstvariabel får ikke minne på kompileringstidspunktet. Den får minne ved kjøring når et objekt eller en forekomst opprettes. Det er derfor den er kjent som en forekomstvariabel.
Metode i Java
I Java er en metode som en funksjon som brukes til å avsløre oppførselen til et objekt.
Fordel med metode
- Kode Gjenbrukbarhet
- Kodeoptimalisering
nytt nøkkelord i Java
Det nye nøkkelordet brukes til å tildele minne ved kjøring. Alle objekter får minne i haugminneområdet.
Objekt og klasseeksempel: hoved i klassen
I dette eksemplet har vi laget en studentklasse som har to datamedlemmer id og navn. Vi lager objektet til Student-klassen med nytt nøkkelord og skriver ut objektets verdi.
Her lager vi en main()-metode i klassen.
Fil: 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); } }Test det nå
Produksjon:
0 null
Objekt og klasseeksempel: hoved utenfor klassen
I sanntidsutvikling lager vi klasser og bruker det fra en annen klasse. Det er en bedre tilnærming enn den forrige. La oss se et enkelt eksempel der vi har main()-metoden i en annen klasse.
juster bildet med css
Vi kan ha flere klasser i forskjellige Java-filer eller en enkelt Java-fil. Hvis du definerer flere klasser i en enkelt Java-kildefil, er det en god idé å lagre filnavnet med klassenavnet som har main()-metoden.
Fil: 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); } }Test det nå
Produksjon:
0 null
3 måter å initialisere objekt på
Det er 3 måter å initialisere objekt i Java.
- Etter referansevariabel
- Etter metode
- Av konstruktør
1) Objekt og klasseeksempel: Initialisering gjennom referanse
Å initialisere et objekt betyr å lagre data i objektet. La oss se et enkelt eksempel hvor vi skal initialisere objektet gjennom en referansevariabel.
Fil: 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 } }Test det nå
Produksjon:
101 Sonoo
Vi kan også lage flere objekter og lagre informasjon i den gjennom referansevariabel.
Fil: 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); } }Test det nå
Produksjon:
101 Sonoo 102 Amit
2) Objekt og Klasse Eksempel: Initialisering gjennom metode
I dette eksemplet lager vi de to objektene i Student-klassen og initialiserer verdien til disse objektene ved å påkalle insertRecord-metoden. Her viser vi tilstanden (data) til objektene ved å påkalle displayInformation()-metoden.
Fil: 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(); } }Test det nå
Produksjon:
objekt i java-programmering
111 Karan 222 Aryan
Som du kan se i figuren ovenfor, får objektet minnet i haugminneområdet. Referansevariabelen refererer til objektet som er tildelt i heap-minneområdet. Her er s1 og s2 begge referansevariabler som refererer til objektene som er allokert i minnet.
3) Objekt og klasseeksempel: Initialisering gjennom en konstruktør
Vi vil lære om konstruktører i Java senere.
Objekt og klasseeksempel: Ansatt
La oss se et eksempel der vi fører registre over ansatte.
Fil: 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(); } }Test det nå
Produksjon:
101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0
Objekt og klasseeksempel: Rektangel
Det er gitt et annet eksempel som opprettholder postene for rektangelklassen.
Fil: 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(); } }Test det nå
Produksjon:
55 45
Hva er de forskjellige måtene å lage et objekt i Java?
Det er mange måter å lage et objekt på i java. De er:
- Etter nytt søkeord
- Etter metoden newInstance().
- Ved klone() metode
- Ved deserialisering
- Etter fabrikkmetode etc.
Vi vil lære disse måtene å lage objekter på senere.
Anonymt objekt
Anonym betyr ganske enkelt navnløs. Et objekt som ikke har noen referanse er kjent som et anonymt objekt. Den kan kun brukes på tidspunktet for objektoppretting.
Hvis du bare må bruke et objekt én gang, er et anonymt objekt en god tilnærming. For eksempel:
new Calculation();//anonymous object
Anropsmetode gjennom en referanse:
Calculation c=new Calculation(); c.fact(5);
Anropsmetode gjennom et anonymt objekt
new Calculation().fact(5);
La oss se hele eksemplet på et anonymt objekt i 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++){>
Oppretting av flere objekter av kun én type
Vi kan lage flere objekter av én type bare som vi gjør i tilfelle av primitiver.
Initialisering av primitive variabler:
int a=10, b=20;
Initialisering av referansevariabler:
Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects
La oss se eksempelet:
//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(); } }Test det nå
Produksjon:
55 45
Eksempel fra den virkelige verden: Konto
Fil: 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++){>