Classes et objets en Java

Classes et objets en Java

En Java, les classes et les objets constituent la base de la programmation orientée objet (POO). Ils aident à modéliser des entités du monde réel et à organiser le code de manière structurée.

  • Une classe est un modèle utilisé pour créer des objets partageant des propriétés et un comportement communs.
  • Un objet est une instance d'une classe. Il représente une entité spécifique créée à partir du modèle de classe.

Par exemple, Dog est une classe Tommy est un objet de cette classe.

Exemple_objet_classeClasses et objets (ici Dog est la classe et Bobby est l'objet)

Classe Java

Une classe est un modèle qui définit les données et le comportement des objets. Il regroupe les domaines et méthodes connexes en une seule unité. La mémoire de ses membres est allouée uniquement lorsqu'un objet est créé.

  • Agit comme un modèle pour créer des objets avec une structure partagée.
  • N'occupe pas de mémoire pour les champs jusqu'à l'instanciation.
  • Peut contenir des constructeurs de méthodes de champs, des classes et des interfaces imbriquées.
Java
   class   Student     {      int     id  ;      String     n  ;      public     Student  (  int     id       String     n  )     {      this  .  id     =     id  ;      this  .  n     =     n  ;      }   }   public     class   Main     {      public     static     void     main  (  String  []     args  )     {      Student     s1     =     new     Student  (  10       'Alice'  );      System  .  out  .  println  (  s1  .  id  );      System  .  out  .  println  (  s1  .  n  );      }   }   

Sortir
10 Alice  

Objets Java

Un objet est une instance d'une classe créée pour accéder à ses données et opérations. Chaque objet possède son propre état.

  • État : Valeurs stockées dans les champs.
  • Comportement : Actions définies via des méthodes.
  • Identité : Distingue un objet d'un autre.

Les objets reflètent des éléments du monde réel tels qu'un produit client ou un cercle. Les objets non primitifs sont stockés sur le tas tandis que leurs références restent sur la pile.

Objets en JavaObjets Java (exemple de chiens)

Instanciation d'objet

La création d'un objet est appelée instanciation. Toutes les instances d'une classe partagent une structure et un comportement tout en stockant différentes valeurs d'état.

Déclaration dDéclaration d'objet Java

Déclaration:

Tuf pour chien ;

Cela déclare uniquement une référence. L'objet n'est pas créé et la référence est nulle.

Initialisation :

tuffy = nouveau Chien('Tuffy' 'Papillon' 5 'Blanc');

Classes et objets en Java 3-768Initialisation

L'opérateur new alloue de la mémoire et appelle le constructeur.

Exemple : définir et utiliser une classe

Java
   public     class   Dog     {      String     name  ;      String     breed  ;      int     age  ;      String     color  ;      public     Dog  (  String     name       String     breed       int     age       String     color  )     {      this  .  name     =     name  ;      this  .  breed     =     breed  ;      this  .  age     =     age  ;      this  .  color     =     color  ;      }      public     String     getName  ()     {     return     name  ;     }      public     String     getBreed  ()     {     return     breed  ;     }      public     int     getAge  ()     {     return     age  ;     }      public     String     getColor  ()     {     return     color  ;     }      @Override      public     String     toString  ()     {      return     'Name is: '     +     name      +     'nBreed age and color are: '      +     breed     +     ' '     +     age     +     ' '     +     color  ;      }      public     static     void     main  (  String  []     args  )     {      Dog     tuffy     =     new     Dog  (  'tuffy'       'papillon'       5       'white'  );      System  .  out  .  println  (  tuffy  );      }   }   

Sortir
Name is: tuffy Breed age and color are: papillon 5 white  

Note: Chaque classe possède au moins un constructeur. Si aucun n'est défini, Java fournit un constructeur par défaut sans argument qui appelle le constructeur parent.

Initialiser l'objet à l'aide de la méthode/fonction

Java
   public     class   Geeks     {      static     String     name  ;      static     float     price  ;      static     void     set  (  String     n       float     p  )     {      name     =     n  ;      price     =     p  ;      }      static     void     get  ()     {      System  .  out  .  println  (  'Software name is: '     +     name  );      System  .  out  .  println  (  'Software price is: '     +     price  );      }      public     static     void     main  (  String  []     args  )     {      Geeks  .  set  (  'Visual Studio'       0.0f  );      Geeks  .  get  ();      }   }   

Sortir
Software name is: Visual Studio Software price is: 0.0  

Façons de créer un objet en Java

Java prend en charge quatre approches standard.

1. Utilisation d'un nouveau mot-clé

Manière la plus directe de créer un objet.

Java
   // creating object of class Test    Test     t     =     new     Test  ();   

2. Utiliser la réflexion

Utilisé pour le chargement dynamique de classes comme on le voit dans des frameworks comme Spring.

Java
   class   Student     {      public     Student  ()     {}   }   public     class   Main     {      public     static     void     main  (  String  []     args  )     {      try     {      Class        c     =     Class  .  forName  (  'Student'  );      Student     s     =     (  Student  )     c  .  getDeclaredConstructor  ().  newInstance  ();      System  .  out  .  println  (  s  );      }     catch     (  Exception     e  )     {      e  .  printStackTrace  ();      }      }   }   

Sortir
Student@1dbd16a6  

3. Utilisation de la méthode clone()

clone() crée une copie d'un objet existant. La classe doit implémenter Cloneable.

Java
   class   Geeks     implements     Cloneable     {      String     name     =     'GeeksForGeeks'  ;      @Override      protected     Object     clone  ()     throws     CloneNotSupportedException     {      return     super  .  clone  ();      }      public     static     void     main  (  String  []     args  )     {      try     {      Geeks     g1     =     new     Geeks  ();      Geeks     g2     =     (  Geeks  )     g1  .  clone  ();      System  .  out  .  println  (  g2  .  name  );      }     catch     (  Exception     e  )     {      e  .  printStackTrace  ();      }      }   }   

Sortir
GeeksForGeeks  

4. Utilisation de la désérialisation

La désérialisation est une technique de lecture d'un objet à partir de l'état enregistré dans un fichier. L'objet est recréé à partir d'un flux d'octets stocké.

Se référer à Sérialisation/Désérialisation en Java .

Java
   import     java.io.*  ;   class   Student     implements     Serializable     {      private     String     name  ;      public     Student  (  String     name  )     {     this  .  name     =     name  ;     }      public     String     toString  ()     {     return     'Student: '     +     name  ;     }   }   public     class   Main     {      public     static     void     main  (  String  []     args  )     {      try     (  ObjectOutputStream     out     =      new     ObjectOutputStream  (  new     FileOutputStream  (  'student.ser'  )))     {      out  .  writeObject  (  new     Student  (  'Alice'  ));      }     catch     (  IOException     e  )     {     e  .  printStackTrace  ();     }      try     (  ObjectInputStream     in     =      new     ObjectInputStream  (  new     FileInputStream  (  'student.ser'  )))     {      Student     s     =     (  Student  )     in  .  readObject  ();      System  .  out  .  println  (  s  );      }     catch     (  Exception     e  )     {     e  .  printStackTrace  ();     }      }   }   

Sortir
Student: Alice  

Une seule référence peut pointer vers différents objets à différents moments.

Java
   Test     test     =     new     Test  ();   test     =     new     Test  ();   

En héritage, il est courant d'utiliser une référence parent pour les objets enfants.

Java
   Animal     obj     =     new     Dog  ();   obj     =     new     Cat  ();   

Les objets non référencés deviennent éligibles pour le garbage collection.

Objets anonymes

Les objets anonymes sont créés sans référence et utilisés immédiatement pour des opérations ponctuelles.

  • Aucune variable de référence : Impossible de réutiliser l'objet.
  • Créé et utilisé, il économise instantanément de la mémoire pour les tâches de courte durée.
  • Courant dans la gestion des événements (par exemple, clics sur des boutons).
Java
   new     Dog  (  'Max'       'Labrador'       3       'Black'  ).  getName  ();   

Courant dans la gestion des événements de l’interface utilisateur.

Créer un quiz