Introduction
Ce laboratoire améliorera vos compétences en Java en vous présentant les méthodes et les bases de la programmation orientée objet (POO). Ces concepts sont essentiels pour écrire un code bien structuré, réutilisable et efficace. Nous aborderons les points suivants :
- La création et l'utilisation de méthodes pour organiser le code et faciliter la réutilisabilité.
- La compréhension des concepts de base des classes et des objets.
- La mise en œuvre d'une classe de base qui inclut des méthodes et des attributs.
À la fin de ce laboratoire, vous serez capable d'écrire des programmes Java qui utilisent des méthodes pour diviser des problèmes complexes en parties plus petites et plus gérables. Vous comprendrez également le fonctionnement de la programmation orientée objet en Java, une compétence essentielle pour construire des applications plus grandes et plus complexes. Si ces concepts semblent complexes au départ, ne vous inquiétez pas – nous les aborderons étape par étape, et à la fin du laboratoire, vous apprécierez comment ces idées contribuent à un code plus organisé et plus puissant.
Commençons!
Comprendre et créer des méthodes
Les méthodes sont essentiellement de petits programmes au sein de votre programme principal. Elles vous aident à organiser votre code, à améliorer sa lisibilité et à permettre la réutilisation du code sans avoir à écrire le même code à plusieurs reprises. Considérez les méthodes comme des outils spécialisés dans une boîte à outils, chacun étant conçu pour un objectif spécifique.
Commencez par ouvrir le fichier
MethodDemo.javadans le WebIDE. Vous devriez voir ce code de démarrage :public class MethodDemo { public static void main(String[] args) { System.out.println("Welcome to the Method Demo!"); // TODO: Call methods here } // TODO: Add methods here }Il s'agit de la structure fondamentale de notre programme Java. La méthode
mainest le point d'entrée où l'exécution de notre programme commence.Maintenant, créons notre première méthode. Nous allons créer une méthode simple qui affiche un message d'accueil. Ajoutez cette méthode en dehors et après la méthode
main, au niveau de la classe :public class MethodDemo { public static void main(String[] args) { System.out.println("Welcome to the Method Demo!"); // TODO: Call methods here } // Add the new method here, outside and after the main method public static void printGreeting(String name) { System.out.println("Hello, " + name + "! Welcome to Java methods."); } }Décomposons ce que cela signifie :
public: ce mot-clé indique que la méthode est accessible depuis d'autres classes.static: cela signifie que la méthode appartient à la classe elle-même, et non à une instance particulière de la classe. Nous approfondirons ce concept plus tard ; pour l'instant, considérez-le comme une exigence pour les méthodes que nous voulons utiliser sans créer d'objet.void: cela signifie que notre méthode ne renvoie aucune valeur. Elle effectue une action (afficher un message d'accueil), mais ne renvoie aucune donnée.printGreeting: c'est le nom que nous avons attribué à notre méthode. Nous utiliserons ce nom pour invoquer ou appeler la méthode.(String name): il s'agit d'un paramètre, une donnée que notre méthode accepte. Elle attend uneString(chaîne de caractères), que nous avons nomméename. Lorsque nous appellerons cette méthode, nous devrons fournir une valeur pour ce paramètre.
Super ! Maintenant que nous avons créé une méthode, utilisons-la. Dans la méthode
main, remplacez le commentaire// TODO: Call methods herepar :printGreeting("Alice");
Cette ligne appelle ou invoque notre méthode
printGreetinget lui transmet le nom "Alice" comme argument. L'argument fournit l'entrée spécifique dont la méthode a besoin pour effectuer son action.Enregistrez le fichier, puis compilons et exécutons le programme. Dans le terminal en bas de votre WebIDE, tapez ces commandes :
javac ~/project/MethodDemo.java java -cp ~/project MethodDemoLa première commande compile notre fichier Java, le traduisant en bytecode (code d'octet) que la Java Virtual Machine (JVM) peut comprendre. La deuxième commande exécute le programme compilé. Vous devriez voir une sortie similaire à celle-ci :
Welcome to the Method Demo! Hello, Alice! Welcome to Java methods.Excellent ! Vous venez de créer et d'utiliser votre première méthode Java. Appelons-la à nouveau avec un nom différent. Ajoutez cette ligne dans la méthode
main, juste après le premier appelprintGreeting:printGreeting("Bob");Enregistrez, compilez et exécutez à nouveau le programme. Vous devriez maintenant voir :
Welcome to the Method Demo! Hello, Alice! Welcome to Java methods. Hello, Bob! Welcome to Java methods.Remarquez comment nous pouvons réutiliser notre méthode avec différentes entrées ? C'est un avantage important de l'utilisation des méthodes.
Maintenant, créons une méthode qui renvoie une valeur. Ajoutez cette méthode à votre classe, sous la méthode
printGreeting:public static int sumNumbers(int a, int b) { return a + b; }Cette méthode accepte deux entiers, les additionne et renvoie le résultat. Notez qu'au lieu de
void, nous utilisonsintpour indiquer que cette méthode renvoie une valeur entière.Utilisons cette nouvelle méthode dans notre méthode
main. Ajoutez ces lignes à la fin de la méthodemain:int result = sumNumbers(5, 7); System.out.println("The sum of 5 and 7 is: " + result);Ici, nous invoquons notre méthode
sumNumbers, en fournissant les valeurs 5 et 7 comme arguments. La valeur de retour de la méthode est ensuite stockée dans une variable appeléeresult. Après avoir stocké la valeur de retour, nous affichons la valeur dans la console.Enregistrez, compilez et exécutez le programme une fois de plus. Vous devriez maintenant voir la sortie supplémentaire :
The sum of 5 and 7 is: 12
Félicitations ! Vous avez créé et utilisé vos premières méthodes Java. Vous avez vu comment les méthodes peuvent effectuer des actions (comme afficher des messages d'accueil) et fournir des valeurs de retour (comme la somme de deux nombres). Les méthodes vous permettent de structurer votre code en éléments plus petits et réutilisables, ce qui rend vos programmes plus faciles à comprendre et à maintenir.
Introduction aux classes et aux objets
Maintenant que nous comprenons les méthodes, passons à la programmation orientée objet en créant une classe simple. En programmation orientée objet, nous utilisons les classes comme des modèles pour créer des objets. Imaginez une classe comme un emporte - pièce à biscuits et les objets comme les biscuits que vous fabriquez avec.
Ouvrez le fichier
Car.javaet commençons à construire notre classe. Tout d'abord, nous allons définir la classe et ajouter quelques attributs :public class Car { // Attributes private String make; private String model; private int year; }Ces attributs (également appelés champs ou propriétés) définissent ce que chaque objet
Carpossédera. Chaque voiture aura une marque, un modèle et une année de fabrication.Le mot clé
privateindique que ces attributs ne peuvent être accédés qu'à l'intérieur de la classe elle - même. C'est un exemple d'encapsulation, un concept qui aide à protéger l'intégrité des données au sein de nos objets.Maintenant, ajoutons un constructeur à notre classe. Un constructeur est une méthode spéciale qui est automatiquement appelée lorsque nous créons un nouvel objet. Il est principalement utilisé pour initialiser les attributs de l'objet. Ajoutez ce constructeur à votre classe
Car:// Constructor public Car(String make, String model, int year) { this.make = make; this.model = model; this.year = year; }Ce constructeur prend trois paramètres et les utilise pour définir les valeurs de nos attributs. Le mot clé
thisest utilisé pour faire référence aux attributs de l'objet actuel ; il permet de différencier l'attribut de l'objet et le paramètre passé au constructeur lorsque leurs noms sont identiques.Ensuite, ajoutons une méthode à notre classe qui affichera des informations sur la voiture. Ajoutez cette méthode à votre classe
Car:// Method public void displayInfo() { System.out.println("Car Information:"); System.out.println("Make: " + make); System.out.println("Model: " + model); System.out.println("Year: " + year); }

Cette méthode ne prend aucun paramètre et ne renvoie aucune valeur. Elle affiche simplement les informations de la voiture dans la console.
Parfait! Nous avons créé notre classe
Car. Maintenant, ouvrons le fichierCarDemo.javaet ajoutons le code suivant :public class CarDemo { public static void main(String[] args) { // We'll add code here in the next step } }Cela établit la structure de base de notre programme de démonstration.
Maintenant, créons quelques objets
Caret utilisons - les. Ajoutez ce code à l'intérieur de la méthodemain:Car myCar = new Car("Toyota", "Corolla", 2022); myCar.displayInfo(); Car friendsCar = new Car("Honda", "Civic", 2023); friendsCar.displayInfo();Ici, nous créons deux objets
Car. Le mot clénewest utilisé pour créer un nouvel objet, et nous appelons le constructeur que nous avons défini précédemment pour définir la marque, le modèle et l'année. Ensuite, nous appelons la méthodedisplayInfosur chaque objet voiture pour afficher ses propriétés.Avant de compiler et d'exécuter notre programme, il est important de noter que nous travaillons avec plusieurs fichiers Java (
Car.javaetCarDemo.java). Lorsque nous compilons plusieurs fichiers qui ont des dépendances, nous devons les compiler ensemble. Assurez - vous également queCarDemo.javaetCar.javase trouvent dans le même répertoire ; sinon, vous devrez importer la classeCarau début deCarDemo.javacomme indiqué ci - dessous.Si
CarDemo.javaetCar.javase trouvent dans des répertoires différents, vous devrez peut - être ajouter une instruction d'importation en haut deCarDemo.java:import packagename.Car; // Replace 'packagename' with the actual package name if applicableMaintenant, compilons et exécutons le programme
CarDemo:javac ~/project/Car.java ~/project/CarDemo.java java -cp ~/project CarDemoLa première commande compile nos deux fichiers Java ensemble, en s'assurant que toutes les dépendances sont prises en compte. La deuxième commande exécute notre classe
CarDemo.Vous devriez voir une sortie comme celle - ci :
Car Information: Make: Toyota Model: Corolla Year: 2022 Car Information: Make: Honda Model: Civic Year: 2023

Félicitations! Vous venez de créer votre première classe Java et de l'utiliser pour créer des objets. C'est la base de la programmation orientée objet en Java. Vous avez défini un modèle (la classe Car) et l'avez utilisé pour créer des instances spécifiques (les objets Car). Chaque objet a son propre ensemble unique d'attributs, mais ils partagent tous la structure et le comportement définis par la classe.
Amélioration de notre classe avec plus de méthodes
Maintenant que nous avons une compréhension de base des classes et des objets, améliorons notre classe Car avec plus de méthodes pour en augmenter l'utilité. Nous allons ajouter des méthodes qui représentent des actions qu'une voiture peut effectuer et des propriétés dont nous pourrions vouloir connaître les informations.
Ouvrez le fichier
Car.java. Ajoutons une méthode qui représente la voiture en accélération. Ajoutez cette méthode à la classeCar:public void accelerate() { System.out.println("The " + make + " " + model + " is accelerating."); }Cette méthode ne modifie aucun des attributs de la voiture ; elle affiche simplement un message indiquant que la voiture accélère.
Maintenant, ajoutons une méthode pour le freinage. Ajoutez cette méthode à la classe
Car:public void brake() { System.out.println("The " + make + " " + model + " is braking."); }Cette méthode affiche également un message concernant l'action de la voiture, tout comme la méthode
accelerateprécédente.Ensuite, ajoutons une méthode qui fournit des informations sur la voiture. Ajoutez cette méthode :
public String getMakeAndModel() { return make + " " + model; }Cette méthode combine la marque et le modèle en une seule chaîne de caractères et la renvoie. Notez que le type de retour est
String, et nonvoid, car cette méthode nous fournit des informations.Enfin, ajoutons une méthode qui détermine si une voiture est classée comme antique. Dans de nombreux endroits, une voiture est considérée comme antique si elle a plus de 25 ans. Ajoutez cette méthode :
public boolean isAntique() { int currentYear = java.time.Year.now().getValue(); return (currentYear - year) > 25; }Cette méthode utilise la classe
Yearintégrée à Java pour obtenir l'année actuelle. Elle calcule ensuite l'âge de la voiture et renvoietruesi elle a plus de 25 ans, etfalsesinon.Avec ces méthodes supplémentaires ajoutées à notre classe
Car, mettons à jour notre fichierCarDemo.javapour les utiliser. OuvrezCarDemo.javaet remplacez son contenu par :public class CarDemo { public static void main(String[] args) { Car myCar = new Car("Toyota", "Corolla", 2022); Car classicCar = new Car("Ford", "Mustang", 1965); myCar.displayInfo(); myCar.accelerate(); myCar.brake(); System.out.println(classicCar.getMakeAndModel() + " is an antique: " + classicCar.isAntique()); Car[] carArray = {myCar, classicCar}; for (Car car : carArray) { System.out.println(car.getMakeAndModel() + " is an antique: " + car.isAntique()); } } }Cette nouvelle méthode
mainréalise plusieurs choses :- Elle crée deux objets
Car: une voiture moderne et une voiture classique. - Elle appelle nos méthodes
accelerateetbrakenouvellement ajoutées sur l'objet voiture moderne. - Elle utilise les méthodes
getMakeAndModeletisAntiquesur l'objet voiture classique. - Elle crée un tableau d'objets
Caret utilise une bouclefor-eachpour les parcourir, démontrant ainsi comment nous pouvons gérer des collections d'objets.
- Elle crée deux objets
Enregistrez les deux fichiers, puis compilez et exécutez le programme
CarDemo:javac ~/project/Car.java ~/project/CarDemo.java java -cp ~/project CarDemoVous devriez voir une sortie similaire à ceci :
Car Information: Make: Toyota Model: Corolla Year: 2022 The Toyota Corolla is accelerating. The Toyota Corolla is braking. Ford Mustang is an antique: true Toyota Corolla is an antique: false Ford Mustang is an antique: true
Félicitations! Vous avez considérablement étendu votre classe Car et créé un programme plus complexe en utilisant des objets. Cela démontre comment la programmation orientée objet peut être utilisée pour modéliser des concepts du monde réel dans le code. Chaque objet voiture possède maintenant ses propres données (marque, modèle, année) et actions (accélérer, freiner, etc.), tout comme les voitures réelles.
Nous avons ajouté des méthodes à notre classe
Carqui représentent des actions (accelerate()etbrake()). Bien que ces méthodes ne modifient pas l'état de la voiture dans notre implémentation actuelle, dans un programme plus complexe, elles pourraient modifier des attributs tels que la vitesse ou le niveau de carburant.Nous avons ajouté
getMakeAndModel(), qui combine deux informations en une seule chaîne de caractères. C'est un modèle courant en programmation orientée objet : créer des méthodes qui offrent un accès pratique aux données des objets.La méthode
isAntique()montre comment les données d'un objet (l'année de la voiture) peuvent être combinées avec des informations externes (l'année actuelle) pour dériver de nouvelles informations sur un objet.Dans notre classe
CarDemo, nous avons démontré comment créer et utiliser plusieurs objets, comment appeler diverses méthodes sur ces objets et comment parcourir un tableau d'objets.
Cet exemple démontre la puissance de la programmation orientée objet. Nous avons créé une classe Car qui encapsule à la fois des données (marque, modèle, année) et un comportement (accélérer, freiner, isAntique). Chaque objet Car que nous créons est indépendant, avec son propre ensemble unique de données, mais ils suivent tous le même ensemble d'actions défini par la classe.
Résumé
Dans ce laboratoire, nous avons fait des progrès considérables dans notre apprentissage de la programmation Java. Nous avons abordé des concepts de base mais essentiels qui sont la fondation pour écrire des programmes Java plus complexes et mieux organisés. Résumons ce que nous avons appris :
Les méthodes :
- Nous avons créé et utilisé des méthodes pour structurer notre code et le rendre plus réutilisable.
- Nous avons exploré comment les méthodes peuvent accepter des paramètres et renvoyer des valeurs, ce qui nous permet de diviser des problèmes complexes en tâches plus petites et gérables.
- Les méthodes nous aident à réduire la répétition du code et à rendre nos programmes plus faciles à comprendre et à maintenir.
Les classes et les objets :
- Nous avons introduit le concept de classes comme modèles pour créer des objets.
- Nous avons construit une classe
Caravec des attributs (marque, modèle, année) et des méthodes (displayInfo, accelerate, brake, etc.). - Nous avons appris à instancier des objets (instances d'une classe) et à invoquer des méthodes sur ces objets.
La programmation orientée objet :
- Nous avons observé comment la programmation orientée objet nous permet de modéliser des concepts du monde réel dans notre code.
- Nous avons encapsulé des données (attributs) et des comportements (méthodes) dans notre classe
Car. - Nous avons créé plusieurs objets
Car, démontrant que chaque objet a son propre ensemble de données mais partage les mêmes actions définies par la classe.
Fonctionnalités améliorées de la classe :
- Nous avons étendu notre classe
Caravec des méthodes plus complexes, y compris une qui utilise les outils de date intégrés à Java pour déterminer si une voiture est antique. - Nous avons vu comment les méthodes peuvent interagir avec les données des objets et des informations externes pour générer de nouvelles informations.
- Nous avons étendu notre classe
Travail avec plusieurs objets :
- Nous avons créé un tableau d'objets
Car, démontrant comment travailler avec des collections d'objets dans nos programmes.
- Nous avons créé un tableau d'objets
Ces concepts forment la base de la programmation Java et sont essentiels pour créer des applications plus grandes et plus complexes. Au fur et à mesure de votre progression dans l'apprentissage de Java, vous utiliserez ces concepts à plusieurs reprises.
N'oubliez pas que maîtriser la programmation nécessite une pratique régulière. Voici quelques idées pour approfondir vos connaissances :
- Essayez d'ajouter plus d'attributs à la classe
Car, commecoloroumileage. - Créez des méthodes qui modifient ces attributs, telles que
paint(String newColor)oudrive(int miles). - Créez une classe
Garagequi peut stocker plusieurs objetsCar. Ajoutez des méthodes pour ajouter des voitures au garage, en retirer et afficher toutes les voitures du garage. - Expérimentez avec la création de classes pour d'autres types d'objets, tels que
BookouStudent.
Continuez à coder, continuez à explorer et, surtout, continuez à vous amuser! Vous êtes sur la bonne voie pour devenir un programmeur Java compétent.



