java class vs object how use class
Dans ce didacticiel, nous aborderons en détail l'un des concepts OOPS. Nous explorerons tout sur la classe et l'objet Java avec des exemples:
Nous savons que la programmation orientée objet met l'accent sur les données et tourne donc autour d'entités appelées objets. Les classes agissent comme des plans de ces objets.
Voyons comment créer une classe et ses composants. Nous apprendrons également à créer et initialiser des objets en Java à l'aide d'exemples de programmation plus loin dans ce didacticiel.
=> Visitez ici pour la série exclusive de didacticiels de formation Java.
Ce que vous apprendrez:
Classes et objets en Java
En Java, toutes les fonctionnalités, attributs, méthodes, etc. sont liés à des classes et des objets. Nous ne pouvons pas écrire un programme Java uniquement avec la fonction main sans déclarer une classe comme nous pouvons le faire en C ++.
Par exemple, si nous voulons écrire un programme sur un véhicule, un véhicule est un objet temps réel. Mais les véhicules peuvent être de différents types. Cela signifie que le véhicule a un attribut de type qui peut prendre diverses valeurs comme la voiture, le camion, le scooter, le vélo, etc.
Ainsi, la façon dont nous exprimons l'objet véhicule en Java est de créer une classe «Véhicule», puis de définir ses différents attributs. Ensuite, nous pouvons déclarer divers objets de classe de véhicule tels que voiture, vélo, etc.
À l'intérieur de la classe, nous pouvons définir les propriétés de Vehicle en tant qu'attributs de classe (membres de données) et méthodes telles que startVehicle (), stopVehicle (), etc.
De cette façon, pour exprimer même la plus petite des entités en Java, nous devons d'abord identifier l'objet, puis définir son plan ou une classe.
Apprenons donc tout d'abord sur les classes et les objets, puis passons aux autres concepts de la POO en Java.
Classe en Java
Pour développer un programme en Java, nous utilisons des objets et des classes. Alors qu'une classe en Java n'est qu'une unité logique, un objet en Java est à la fois une entité physique et logique.
Qu'est-ce qu'un objet en Java?
Un objet est une entité qui a un état et présente un comportement. Par exemple, toute entité réelle comme un stylo, un ordinateur portable, un mobile, une table, une chaise, une voiture, etc. est un objet. Tous ces objets sont soit physiques (tangibles), soit logiques (immatériels).
Les objets immatériels sont principalement un système aérien, un système bancaire, etc. Ce sont des entités logiques qui ont un état et un comportement particuliers.
Chaque objet a les principales caractéristiques suivantes:
- Identité: Un ID unique définit l'identité de l'objet. Cet identifiant n'est pas vu par l'utilisateur normal, mais en interne, JVM utilise cet identifiant pour identifier l'objet de manière unique.
- État: Il définit les données présentes dans l'objet ou la valeur de l'objet.
- Comportement: Cette fonctionnalité représente la fonctionnalité (comportement) d'un objet. Par exemple, l'objet Véhicule dont nous avons discuté ci-dessus a le comportement de démarrage, d'arrêt, etc.
Nous revisiterons la définition de l'objet lorsque nous définirons la classe.
Alors, qu'est-ce qu'une classe?
Nous savons que le composant principal de la programmation orientée objet est un objet. Si nous voulons construire un type d'objet spécifique, nous avons besoin d'un plan. Ce plan nous fournira un ensemble d'instructions qui nous aideront à construire un objet.
Par exemple, disons que nous voulons construire une maison. La maison ici est un objet. Pour construire une maison, nous avons besoin d'un plan initial pour la maison. Nous ne pouvons pas construire directement la maison à notre guise.
C'est là qu'intervient la classe. Donc, pour construire un objet ou une entité réelle, nous aurons d'abord un plan qui détermine le contenu et le comportement d'un objet. Ceci est connu comme une classe de programmation orientée objet.
Ainsi, une classe peut être définie comme ' un plan ou un modèle et il définit l'état et le comportement de l'objet ».
Nous pouvons également voir la classe comme un groupe d'objets. Ce groupe possède certaines propriétés communes à tous les objets.
Voyons comment créer une classe en Java.
Comment créer une classe en Java
La syntaxe de classe générale d'une définition de classe en Java est:
class extends implements interface_name> { //fields; //constructors //methods; //blocks }
La déclaration générale ci-dessus d'une classe est représentée dans le diagramme ci-dessous avec un exemple de déclaration de classe:
Notez que la superclasse et l'interface dans la déclaration de classe sont facultatives. Nous pouvons choisir d'avoir une classe autonome sans l'étendre à partir d'une autre superclasse ni implémenter une interface.
La définition générale ci-dessus a également montré les composants qui peuvent être présents dans la définition de classe.
Composants de classe
Les composants de la classe sont représentés ci-dessous.
Comme indiqué dans le diagramme ci-dessus, une classe Java contient les composants suivants:
- Des champs
- Méthodes
- Constructeurs
- Blocs
- Classe et interface imbriquées
Nous discuterons ensuite des trois premiers composants. Ces composants sont requis dans n'importe quelle classe. Les classes et interfaces imbriquées sont un sujet complètement différent et seront abordées dans nos prochains tutoriels.
Avant de commencer une discussion sur les composants de classe, commençons par définir une classe Customer_Account
class Customer_Account { static String bank_name; //class variable long customer_accountNo; //instance variable String customer_name; //instance variable //constructor Customer_Account (long accountnum, String accName){ customer_accountNo = accountnum; customer_name = accName; } //method void printInfo(){ System.out.println ('Customer Account Details:'); System.out.println ('Customer Account Number: ' + customer_accountNo); System.out.println (' Customer Name: '+customer_name); } }
Des champs
Les champs sont des variables ou des données de la classe. Les champs sont également appelés comme variables membres en Java. Nous utilisons les termes champ et variable de manière interchangeable.
Habituellement, les champs d'une classe sont de deux types:
# 1) Variables de classe: Les variables de classe sont déclarées avec le mot «static» afin qu'elles soient des variables statiques. Cela signifie que ce type de variable n'a qu'une seule copie par classe, quel que soit le nombre d'instances ou d'objets présents pour cette classe.
comment faire un faux e-mail
# 2) Variables d'instance: Ce sont l'opposé des variables de classe. Les membres de données sont appelés variables d'instance car ces variables disposent d'une mémoire distincte allouée pour chaque instance de classe au moment de l'exécution.
Dans la définition de classe ci-dessus, nous avons montré les variables de classe et d'instance. La variable «bank_name» déclarée avec un modificateur statique est la variable de classe. Les deux autres variables «customer_accNo» et «customer_name» sont des variables d'instance.
Constructeur
Les constructeurs sont des méthodes spéciales qui sont généralement utilisées pour initialiser une instance d'une classe. Les constructeurs n'ont pas de type de retour, ils ont le même nom que la classe et peuvent ou non contenir des paramètres.
Dans la définition de classe ci-dessus, nous avons un constructeur.
Customer_Account (long accountnum, String accName)
Nous en apprendrons plus sur les constructeurs dans nos prochains tutoriels.
Méthode
Une méthode dans une classe Java est la fonction qui définit le comportement de l'objet et de ses membres.
Une méthode de classe est créée de la même manière que nous créons des méthodes régulières dans un programme. Dans la méthode de classe, nous pouvons utiliser toutes les constructions et fonctionnalités fournies par Java.
Dans notre exemple de définition de classe, nous avons une méthode «printInfo» qui affiche les différents membres de données de la classe.
Une méthode de classe Java a généralement le prototype suivant:
method_name(parameter list…){ //code blocks }
Les méthodes de classe sont accessibles par l'instance de classe à l'aide de l'opérateur point. Donc, si nous créons une instance acc de la classe ci-dessus «Customer_Account», nous pouvons accéder à printInfo en utilisant la ligne de code ci-dessous.
acc.printInfo();
Si le access_modifier est statique, nous n'avons pas besoin d'une instance pour accéder à la méthode. Nous pouvons utiliser le nom de la classe directement pour accéder à la méthode comme,
Custome_Account.printInfo ();
Exemple de classe Java
Implémentons un exemple simple pour illustrer une classe et un objet en Java.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Production
Le programme ci-dessus déclare une classe Student. Il a trois variables d'instance, à savoir. student_id, student_name et student_marks.
Ensuite, nous définissons la classe Main, dans laquelle nous déclarons un objet de la classe Student nommé student_object. Ensuite, en utilisant l'opérateur point, nous accédons aux variables d'instance et imprimons leurs valeurs.
Le programme ci-dessus est un exemple de méthode principale en dehors de la classe.
Dans l'exemple ci-dessous, nous aurons une méthode principale dans la classe.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Production
Le programme ci-dessus est le même que le programme précédent, sauf que la méthode principale est dans la classe Student.
Objet en Java
Maintenant, nous avons suffisamment de connaissances sur les classes en Java, nous pouvons redéfinir l'objet en termes de classe. Un objet est donc ' une instance d'une classe ». Ainsi, nous créons une variable ou une instance de type nom_classe et elle est appelée objet.
Quelques points à retenir sur un objet:
- Un objet est considéré comme une unité de base de la POO avec la classe.
- Un objet est une unité d'exécution.
- Un objet est appelé une instance d'une classe.
- Un objet a un comportement et un état.
- Un objet prend toutes les propriétés et attributs de la classe dont il est une instance. Mais à tout moment, chaque objet a des états ou des valeurs variables différents.
- Un objet est utilisé pour représenter une entité en temps réel dans les applications logicielles.
- Une seule classe peut avoir n'importe quel nombre d'objets.
- Les objets interagissent les uns avec les autres en invoquant des méthodes.
Comment instancier un objet
La déclaration de l'objet est également appelée instanciation d'objets en Java. La déclaration d'un objet est la même que la déclaration d'une variable.
Par exemple, la classe Customer_Account que nous avons déclarée ci-dessus peut être utilisée pour déclarer un objet.
Ainsi, nous déclarons ou instancions l'objet de Customer_Account comme suit:
Customer_Account account;
L'instruction ci-dessus déclare ou instancie un objet nommé «compte» de la classe Customer_Account.
Notez que lorsque nous instancions un objet d'une classe, la classe doit être strictement une «classe concrète». Nous ne pouvons pas déclarer un objet d'une classe abstraite.
L'instruction ci-dessus déclare uniquement un objet. Nous ne pouvons pas utiliser cette variable pour appeler des méthodes de la classe ou définir des valeurs des variables membres. C'est parce que nous n'avons alloué aucune mémoire pour l'objet déclaré.
Nous devons donc créer correctement un objet pour l'utiliser davantage.
La création proprement dite d'un objet se fait par l'initialisation des objets. Une fois que nous déclarons un objet, nous devons l'initialiser. Ensuite, nous pouvons uniquement utiliser cet objet pour accéder aux variables membres et aux méthodes de la classe.
Comment créer un objet
Nous pouvons créer un objet en Java en utilisant les méthodes suivantes:
# 1) Utiliser un nouveau mot-clé
Nous pouvons initialiser un objet en utilisant un nouveau mot-clé. Cette méthode est la méthode la plus couramment utilisée pour créer un nouvel objet.
Par exemple,étant donné une classe ABC, nous pouvons créer un nouvel objet de classe comme suit:
ABC myObj = new ABC ();
Dans l'instruction ci-dessus, myObj est le nouvel objet créé à l'aide du nouvel opérateur. L'objet créé à l'aide de cette méthode a les valeurs initiales de tous les membres de données. La construction ABC () suivant le nouveau mot-clé est le constructeur par défaut de la classe ABC.
Nous pouvons également définir des constructeurs avec des paramètres et appeler ce constructeur avec le mot clé new afin de créer un objet avec les valeurs souhaitées des membres de données.
# 2) Utilisation de la méthode Class.forName ()
Java fournit une classe nommée «Class» qui conserve toutes les informations sur les classes et les objets du système. Nous pouvons utiliser la méthode forName () de la classe ‘Class’ pour créer un objet. Nous devons passer un nom de classe complet comme argument à la méthode forName.
Ensuite, nous pouvons appeler la méthode newInstance () qui retournera l'instance de la classe.
Les lignes de code suivantes le montrent.
ABC myObj = Class.forName (“com.myPackage.ABC”).newInstance();
L'instruction ci-dessus créera un nouvel objet myObj de classe ABC.
# 3) Par la méthode clone ()
La classe Object en Java fournit une méthode clone () qui retourne le clone ou la copie de l'objet passé en argument à la méthode clone ().
Par exemple,
ABC myobj1 = new ABC (); ABC testObj = (ABC) myobj1.clone ();
# 4) Par désérialisation
Java fournit une technique appelée désérialisation dans laquelle nous lisons un objet à partir d'un fichier enregistré. Nous allons apprendre la désérialisation dans un didacticiel séparé.
Comment initialiser un objet
Dans cette section, nous discuterons des méthodes pour initialiser un objet en Java. L'initialisation fait référence à l'attribution de valeurs aux données membres de la classe. Voici quelques-unes des méthodes utilisées pour initialiser des objets en Java.
# 1) Initialiser un objet via une référence
L'objet de référence créé est utilisé pour stocker des valeurs dans l'objet. Cela se fait simplement en utilisant un opérateur d'affectation.
L'initialisation d'un objet à l'aide de référence est indiquée dans le programme ci-dessous.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members using reference student_object.student_id = 101; student_object.student_name = 'Elena'; student_object.student_marks = 89.93; //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Production
Le programme ci-dessus déclare une classe Student avec des variables à trois membres. Ensuite, dans la méthode principale, nous créons un objet de la classe Student en utilisant le nouveau mot-clé. Ensuite, nous attribuons des données à chacun des champs membres de l'objet comme indiqué dans le programme.
# 2) Initialisation de l'objet par la méthode
Dans cet exemple, nous créons les deux objets de la classe Student et initialisons la valeur à ces objets en appelant la méthode insertRecord. La méthode insertRecord est une méthode membre de la classe Student.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //method to initialize class data members void initialize_object(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members through method student_object.initialize_object(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Production
comment exécuter un fichier jar windows 10
# 3) Initialisation de l'objet via le constructeur
Nous pouvons également initialiser un objet en utilisant un constructeur.
Le programme pour démontrer l'utilisation du constructeur est donné ci-dessous.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //constructor for initialization Student(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args[]){ //create a Student object using new operator and initialize it with constructor Student student_object = new Student(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Production
Dans ce programme, la classe Student a un constructeur paramétré qui prend les paramètres et les assigne aux variables membres.
Objet de classe Vs en Java
Classer | Objet |
---|---|
Un champ de membre de classe n'a aucune valeur. | Chaque objet a une copie des champs membres et de leurs valeurs associées. |
La classe est un modèle ou un plan de création d'objet. | L'objet est une instance d'une classe. |
La classe n'alloue aucune mémoire lors de sa création. | L'objet reçoit de la mémoire lors de sa création. |
La classe est une entité logique. | L'objet est une entité physique. |
La classe est déclarée à l'aide d'un mot clé de classe. | L'objet est créé à l'aide de nouvelles méthodes forName () .newInstance (), clone (). |
La classe est un groupe d'objets identiques. Par exemple. Animaux de classe (). | L'objet est une entité spécifique. Par exemple. Animaux chien = nouveaux animaux (); |
La classe ne peut être déclarée qu'une seule fois. | Une classe peut avoir n'importe quel nombre d'instances ou d'objets. |
Questions fréquemment posées
Q # 1) Quelle est la différence entre Classe et Objet?
Répondre: Une classe est un modèle utilisé pour la création d'objets. Un objet est une instance d'une classe. Alors qu'une classe est une entité logique, un objet est une entité physique. Chaque objet a un état dans lequel toutes les variables membres ont des valeurs spécifiques. La classe n'a pas d'état.
Q # 2) Que contient une classe Java?
Répondre: Une classe Java qui sert de modèle ou de modèle pour la création d'objets définit des propriétés ou des champs et des comportements ou des méthodes.
Q # 3) Pourquoi utilisons-nous des classes en Java?
Répondre: En utilisant des classes et des objets, nous pouvons modéliser les applications du monde réel en Java et ainsi les résoudre efficacement. Les objets avec un état et un comportement représentent des entités du monde réel et les classes agissent comme leurs plans. Par conséquent, en utilisant des classes comme blocs de construction, nous pouvons modéliser toute application complexe.
Q # 4) Expliquez la classe et l'objet avec un exemple réel.
Répondre: Si nous prenons la voiture comme un objet, une voiture peut avoir des attributs comme la marque, la couleur, le moteur, le kilométrage, etc. Elle peut également avoir des méthodes comme start (), stop (), applybrakes (). Ainsi, nous pouvons modéliser une voiture en un objet logiciel. Maintenant, la voiture peut avoir différentes marques comme Maruti, Fiat, etc.
Donc, pour représenter tous ces modèles de voiture, nous pouvons avoir un modèle de classe qui contiendra tous les attributs et méthodes communs définis afin que nous puissions instancier cette classe et obtenir l'objet voiture souhaité.
Ainsi, une voiture d'objets réels peut être facilement convertie en objet en Java.
Conclusion
Dans ce didacticiel, nous avons appris les détails des classes et des objets en Java. Nous avons couvert la définition de la classe et de l'objet. Le didacticiel contient une discussion détaillée sur la définition de la classe, les composants de la classe, ainsi que des exemples d'utilisation de la classe dans un programme.
Nous avons également appris les détails des objets en Java, y compris sa déclaration, sa création, son initialisation, etc. avec des exemples de programmation appropriés.
Nous avons exploré les principales différences entre la classe et les objets. Dans nos prochains tutoriels, nous aborderons les types de classes et les constructeurs en classe à la suite desquels nous passerons à d'autres sujets.
=> Regardez la série de formation Java simple ici.
lecture recommandée
- Principes de base de Java: syntaxe Java, classe Java et principaux concepts Java
- Classe Java Integer et Java BigInteger avec exemples
- Qu'est-ce que le vecteur Java | Tutoriel de classe vectorielle Java avec des exemples
- OOP Java: Introduction à la programmation orientée objet en Java
- Tutoriel sur les classes Java Array - Classe java.util.Arrays avec exemples
- Tutoriel de classe de scanner Java avec des exemples
- Tableau d'objets en Java: comment créer, initialiser et utiliser
- Types de classes en Java: abstrait, concret, final, statique