Qu'est-ce que la classe et l'objet dans Java OOPS ? Apprendre avec l'exemple
Les classes et les objets en Java sont les composants fondamentaux des POO. Il y a souvent une confusion entre les classes et les objets. Dans ce didacticiel, nous essayons de vous expliquer la différence entre une classe et un objet en Java.
D'abord, comprenons ce qu'ils sont,
- Qu'est-ce qu'une classe en Java ?
- Qu'est-ce qu'un objet en Java ?
- Quelle est la différence entre objet et classe en Java ?
- Concept de classes et d'objets
- Classes et objets dans les exemples de programmes Java
- Exemple d'objet et de classe Java :classe externe principale
Qu'est-ce que la classe en Java ?
Classe sont un plan ou un ensemble d'instructions pour construire un type spécifique d'objet. C'est un concept de base de la programmation orientée objet qui tourne autour des entités de la vie réelle. La classe en Java détermine comment un objet se comportera et ce que l'objet contiendra.
Syntaxe de classe en Java
class <class_name>{ field; method; }
Qu'est-ce qu'un objet en Java ?
Objet est une instance d'une classe. Un objet dans OOPS n'est rien d'autre qu'un composant autonome composé de méthodes et de propriétés permettant de rendre utile un type particulier de données. Par exemple le nom de la couleur, la table, le sac, les aboiements. Lorsque vous envoyez un message à un objet, vous demandez à l'objet d'invoquer ou d'exécuter l'une de ses méthodes telles que définies dans la classe.
Du point de vue de la programmation, un objet dans OOPS peut inclure une structure de données, une variable ou une fonction. Il a un emplacement de mémoire alloué. Les objets Java sont conçus comme des hiérarchies de classes.
Syntaxe objet en Java
ClassName ReferenceVariable = new ClassName();
Quelle est la différence entre objet et classe en Java ?
Une Classe dans la programmation orientée objet est un plan ou un prototype qui définit les variables et les méthodes (fonctions) communes à tous les objets Java d'un certain type.
Un objet dans OOPS est un spécimen d'une classe. Les objets logiciels sont souvent utilisés pour modéliser des objets du monde réel que vous trouvez dans la vie de tous les jours.
Cliquez ici si la vidéo n'est pas accessible
Comprendre le concept des classes et des objets Java avec un exemple.
Prenons un exemple de développement d'un système de gestion des animaux de compagnie, spécialement conçu pour les chiens. Vous aurez besoin de diverses informations sur les chiens comme les différentes races de chiens, l'âge, la taille, etc.
Vous devez modéliser des êtres réels, c'est-à-dire des chiens, en entités logicielles.
De plus, la question à un million de dollars est la suivante :comment concevez-vous un tel logiciel ?
Voici la solution-
Commençons par faire un exercice.
Vous pouvez voir l'image de trois races de chiens différentes ci-dessous.
Arrêtez-vous ici maintenant ! Énumérez les différences entre eux.
Certaines des différences que vous avez peut-être énumérées peuvent être la race, l'âge, la taille, la couleur, etc. Si vous réfléchissez une minute, ces différences sont également des caractéristiques communes partagées par ces chiens. Ces caractéristiques (race, âge, taille, couleur) peuvent constituer une donnée membres pour votre objet.
Ensuite, listez les comportements courants de ces chiens comme dormir, s'asseoir, manger, etc. Ce seront donc les actions de nos objets logiciels.
Jusqu'à présent, nous avons défini les choses suivantes,
- Classe – Chiens
- Membres de données ou objets – taille, âge, couleur, race, etc.
- Méthodes – manger, dormir, s'asseoir et courir.
Maintenant, pour différentes valeurs de membres de données (taille de la race, âge et couleur) dans la classe Java, vous obtiendrez différents objets chien.
Vous pouvez concevoir n'importe quel programme en utilisant cette approche POO.
Lors de la création d'une classe, il faut suivre les principes suivants.
- Principe de responsabilité unique (SRP)- Une classe ne doit avoir qu'une seule raison de changer
- Responsabilité Ouverte Fermée (OCP)- Il devrait être capable d'étendre n'importe quelle classe sans la modifier
- Responsabilité de substitution de Liskov (LSR)- Les classes dérivées doivent être substituables à leurs classes de base
- Principe d'inversion de dépendance (DIP)- Dépendre de l'abstraction et non des concrétions
- Principe de ségrégation d'interface (ISP)- Préparez des interfaces affinées spécifiques au client.
Classes et objets dans les exemples de programmes Java
// Class Declaration public class Dog { // Instance Variables String breed; String size; int age; String color; // method 1 public String getInfo() { return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color); } public static void main(String[] args) { Dog maltese = new Dog(); maltese.breed="Maltese"; maltese.size="Small"; maltese.age=2; maltese.color="white"; System.out.println(maltese.getInfo()); } }
Sortie :
Breed is: Maltese Size is:Small Age is:2 color is: white
Exemple d'objet et de classe Java :classe extérieure principale
Dans le programme précédent, nous créons la méthode main() dans la classe. Maintenant, nous créons des classes et définissons la méthode main() dans une autre classe. C'est une meilleure méthode que la précédente.
// Class Declaration class Dog { // Instance Variables String breed; String size; int age; String color; // method 1 public String getInfo() { return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color); } } public class Execute{ public static void main(String[] args) { Dog maltese = new Dog(); maltese.breed="Maltese"; maltese.size="Small"; maltese.age=2; maltese.color="white"; System.out.println(maltese.getInfo()); } }
Sortie :
Breed is: Maltese Size is:Small Age is:2 color is: white
Résumé :
- Java Class est une entité qui détermine comment les objets Java se comporteront et quels objets contiendront
- Un objet Java est un composant autonome qui se compose de méthodes et de propriétés pour rendre certains types de données utiles
- Un système de classes permet au programme de définir une nouvelle classe (classe dérivée) en fonction d'une classe existante (superclasse) en utilisant une technique comme l'héritage, le remplacement et l'augmentation.
Java