logo

Objets et classes en Java

  1. Objet en Java
  2. Cours en Java
  3. Variable d'instance en Java
  4. Méthode en Java
  5. Exemple d'objet et de classe qui conserve les dossiers de l'élève
  6. Objet anonyme

Dans cette page, nous découvrirons les objets et les classes Java. Dans la technique de programmation orientée objet, nous concevons un programme utilisant des objets et des classes.

Un objet en Java est à la fois une entité physique et logique, alors qu'une classe en Java est uniquement une entité logique.

Qu'est-ce qu'un objet en Java

objet en Java

Une entité qui a un état et un comportement est connue sous le nom d'objet, par exemple une chaise, un vélo, un marqueur, un stylo, une table, une voiture, etc. Elle peut être physique ou logique (tangible et intangible). L’exemple d’un objet immatériel est le système bancaire.

Un objet a trois caractéristiques :

    État:représente les données (valeur) d'un objet.Comportement:représente le comportement (fonctionnalité) d'un objet tel que dépôt, retrait, etc.Identité:Une identité d'objet est généralement implémentée via un identifiant unique. La valeur de l'ID n'est pas visible par l'utilisateur externe. Cependant, il est utilisé en interne par la JVM pour identifier chaque objet de manière unique.
Caractéristiques de l'objet en Java

Par exemple, Pen est un objet. Son nom est Reynolds ; la couleur est le blanc, connu comme son état. Il est utilisé pour écrire, donc l'écriture est son comportement.

Un objet est une instance d'une classe. Une classe est un modèle ou un plan à partir duquel des objets sont créés. Ainsi, un objet est l’instance (résultat) d’une classe.

Définitions d'objet :

  • Un objet est une entité du monde réel .
  • Un objet est une entité d'exécution .
  • L'objet est une entité qui a un état et un comportement .
  • L'objet est une instance d'une classe .

Qu'est-ce qu'une classe en Java

Une classe est un groupe d'objets qui ont des propriétés communes. Il s'agit d'un modèle ou d'un plan à partir duquel les objets sont créés. C'est une entité logique. Cela ne peut pas être physique.

Une classe en Java peut contenir :

    Des champs Méthodes Constructeurs Blocs Classe et interface imbriquées
Cours en Java

Syntaxe pour déclarer une classe :

 class { field; method; } 

Variable d'instance en Java

Une variable créée à l’intérieur de la classe mais en dehors de la méthode est appelée variable d’instance. La variable d'instance ne reçoit pas de mémoire au moment de la compilation. Il obtient de la mémoire au moment de l'exécution lorsqu'un objet ou une instance est créé. C'est pourquoi on l'appelle variable d'instance.


Méthode en Java

En Java, une méthode est comme une fonction utilisée pour exposer le comportement d’un objet.

Avantage de la méthode

  • Réutilisabilité du code
  • Optimisation du code

nouveau mot-clé en Java

Le nouveau mot-clé est utilisé pour allouer de la mémoire au moment de l'exécution. Tous les objets obtiennent de la mémoire dans la zone de mémoire Heap.


Exemple d'objet et de classe : main dans la classe

Dans cet exemple, nous avons créé une classe Student qui a deux identifiants et noms de données membres. Nous créons l'objet de la classe Student par nouveau mot-clé et imprimons la valeur de l'objet.

Ici, nous créons une méthode main() à l’intérieur de la classe.

Fichier : Étudiant.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); } } 
Testez-le maintenant

Sortir:

 0 null 

Exemple d'objet et de classe : main en dehors de la classe

Dans le développement en temps réel, nous créons des classes et les utilisons à partir d'une autre classe. C'est une meilleure approche que la précédente. Voyons un exemple simple, où nous avons la méthode main() dans une autre classe.

obtenir la date actuelle en Java

Nous pouvons avoir plusieurs classes dans différents fichiers Java ou dans un seul fichier Java. Si vous définissez plusieurs classes dans un seul fichier source Java, c'est une bonne idée d'enregistrer le nom du fichier avec le nom de la classe qui possède la méthode main().

Fichier : 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); } } 
Testez-le maintenant

Sortir:

 0 null 

3 façons d'initialiser un objet

Il existe 3 façons d'initialiser un objet en Java.

  1. Par variable de référence
  2. Par méthode
  3. Par constructeur

1) Exemple d'objet et de classe : initialisation par référence

Initialiser un objet signifie stocker des données dans l'objet. Voyons un exemple simple où nous allons initialiser l'objet via une variable de référence.

Fichier : 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 } } 
Testez-le maintenant

Sortir:

 101 Sonoo 

Nous pouvons également créer plusieurs objets et y stocker des informations via une variable de référence.

Fichier : 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); } } 
Testez-le maintenant

Sortir:

 101 Sonoo 102 Amit 

2) Exemple d'objet et de classe : initialisation via une méthode

Dans cet exemple, nous créons les deux objets de la classe Student et initialisons la valeur de ces objets en appelant la méthode insertRecord. Ici, nous affichons l'état (les données) des objets en appelant la méthode displayInformation().

Fichier : 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(); } } 
Testez-le maintenant

Sortir:

 111 Karan 222 Aryan 
Objet en Java avec des valeurs

Comme vous pouvez le voir dans la figure ci-dessus, l'objet obtient la mémoire dans la zone de mémoire tas. La variable de référence fait référence à l'objet alloué dans la zone de mémoire tas. Ici, s1 et s2 sont tous deux des variables de référence qui font référence aux objets alloués en mémoire.


3) Exemple d'objet et de classe : initialisation via un constructeur

Nous en apprendrons davantage sur les constructeurs en Java plus tard.


Exemple d'objet et de classe : employé

Voyons un exemple où nous tenons des registres des employés.

Fichier : 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(); } } 
Testez-le maintenant

Sortir:

 101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0 

Exemple d'objet et de classe : rectangle

Il existe un autre exemple qui conserve les enregistrements de la classe Rectangle.

Fichier : 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(); } } 
Testez-le maintenant

Sortir:

démarque avec images
 55 45 

Quelles sont les différentes manières de créer un objet en Java ?

Il existe de nombreuses façons de créer un objet en Java. Ils sont:

  • Par nouveau mot-clé
  • Par la méthode newInstance()
  • Par la méthode clone()
  • Par désérialisation
  • Par méthode d'usine, etc.

Nous apprendrons ces façons de créer un objet plus tard.

Différentes façons de créer un objet en Java

Objet anonyme

Anonyme signifie simplement sans nom. Un objet qui n’a aucune référence est appelé objet anonyme. Il ne peut être utilisé qu'au moment de la création de l'objet.

Si vous ne devez utiliser un objet qu’une seule fois, un objet anonyme est une bonne approche. Par exemple:

 new Calculation();//anonymous object 

Méthode d'appel via une référence :

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

Méthode d'appel via un objet anonyme

 new Calculation().fact(5); 

Voyons l'exemple complet d'un objet anonyme en 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&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++){>

Création de plusieurs objets par un seul type

Nous pouvons créer plusieurs objets par un seul type, comme nous le faisons dans le cas de primitives.

Initialisation des variables primitives :

 int a=10, b=20; 

Initialisation des variables de référence :

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

Voyons l'exemple :

 //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(); } } 
Testez-le maintenant

Sortir:

 55 45 

Exemple concret : compte

Fichier : 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){>