Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Utilisation des Classes Complexes | Classes Avancées
Java Avancé
course content

Contenu du cours

Java Avancé

Java Avancé

1. Deep Java Structure
2. Méthodes
3. String Avancé
4. Classes
5. Classes Avancées

book
Utilisation des Classes Complexes

Utilisation des objets de classe dans une autre classe

Nous allons maintenant aborder une utilisation plus complexe des classes, en particulier l'utilisation d'objets de classe au sein d'une autre classe.

Équipe et joueurs

Imaginons une situation où nous avons une classe Team. Chaque équipe doit avoir des joueurs. Nous pourrions remplir le champ players avec de simples valeurs String représentant leurs noms, mais cela ne serait pas la meilleure pratique. Il serait préférable de créer une classe Player avec ses propres champs et méthodes, puis de créer un tableau d'objets Player dans la classe Team. Considérons un exemple :

Team.java

Team.java

copy
1234567891011121314151617181920212223242526
class Team { String title; String country; Player[] players; void play() { System.out.println("Team " + title + "is playing!"); } } class Player { String name; int age; int yearsOfExperience; public Player(String name, int age, int yearsOfExperience) { this.name = name; this.age = age; this.yearsOfExperience = yearsOfExperience; } void introduce() { System.out.println("Hi, my name is " + name + ", I am " + age + " years old and have " + yearsOfExperience + " years of experience"); } }

Comme vous pouvez le constater, nous utilisons un tableau d’objets Player dans le champ players de la classe Team. À partir de cela, nous pouvons tirer quelques conclusions :

  1. Possibilité de créer des tableaux d’objets à partir de notre propre classe créée ;
  2. Possibilité d’utiliser des objets d’une classe au sein d’une autre classe afin d’améliorer la logique globale.

Mais une question se pose : Comment remplir ce tableau ?

Réponse : Pour cela, il est nécessaire de créer plusieurs objets Player et de les ajouter au tableau de joueurs. Créons une Dream Team dans la méthode main et examinons un exemple :

Main.java

Main.java

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { Player bob = new Player("Bob", 32, 5); Player alice = new Player("Alice", 28, 8); Player john = new Player("John", 41, 20); Player[] players = {bob, alice, john}; Team dreamTeam = new Team("Dream Team", "USA", players); System.out.println(dreamTeam); } } class Team { String title; String country; Player[] players; public Team(String title, String country, Player[] players) { this.title = title; this.country = country; this.players = players; } void play() { System.out.println("Team " + title + "is playing!"); } @Override public String toString() { return "Team{" + "title='" + title + '\'' + ", country='" + country + '\'' + ", players=" + Arrays.toString(players) + '}'; } } class Player { String name; int age; int yearsOfExperience; public Player(String name, int age, int yearsOfExperience) { this.name = name; this.age = age; this.yearsOfExperience = yearsOfExperience; } void introduce() { System.out.println("Hi, my name is " + name + ", I am " + age + " years old and have " + yearsOfExperience + " years of experience"); } @Override public String toString() { return "Player{" + "name='" + name + '\'' + ", age=" + age + ", yearsOfExperience=" + yearsOfExperience + '}'; } }

Nous avons créé 3 objets de la classe Player et initialisé leurs champs via le constructeur. Ensuite, nous créons un tableau de type Player et y ajoutons Bob, Alice et John. Ensuite, nous créons un objet Team et initialisons ses champs via le constructeur. Nous initialisons le champ players[] avec le tableau précédemment créé. Nous affichons l’objet dans la console et constatons que l’objet Team contient des objets Player dans la sortie.

Propriétaire et animal de compagnie

Examinons un autre exemple plus simple. Supposons que nous ayons un Owner et un Pet. Nous allons créer une classe distincte pour chacun. La classe Pet aura un seul champ : String name. La classe Owner aura deux champs : String name et Pet pet.

Pet.java

Pet.java

copy
123456789101112131415161718
class Pet { String name; public Pet(String name) { this.name = name; } } class Owner { String name; Pet pet; public Owner(String name, Pet pet) { this.name = name; this.pet = pet; } }

Comme vous pouvez le constater, ces deux classes sont également liées, car la classe Owner possède un champ de type Pet (qui est la classe que nous avons créée nous-mêmes !).

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 1

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

course content

Contenu du cours

Java Avancé

Java Avancé

1. Deep Java Structure
2. Méthodes
3. String Avancé
4. Classes
5. Classes Avancées

book
Utilisation des Classes Complexes

Utilisation des objets de classe dans une autre classe

Nous allons maintenant aborder une utilisation plus complexe des classes, en particulier l'utilisation d'objets de classe au sein d'une autre classe.

Équipe et joueurs

Imaginons une situation où nous avons une classe Team. Chaque équipe doit avoir des joueurs. Nous pourrions remplir le champ players avec de simples valeurs String représentant leurs noms, mais cela ne serait pas la meilleure pratique. Il serait préférable de créer une classe Player avec ses propres champs et méthodes, puis de créer un tableau d'objets Player dans la classe Team. Considérons un exemple :

Team.java

Team.java

copy
1234567891011121314151617181920212223242526
class Team { String title; String country; Player[] players; void play() { System.out.println("Team " + title + "is playing!"); } } class Player { String name; int age; int yearsOfExperience; public Player(String name, int age, int yearsOfExperience) { this.name = name; this.age = age; this.yearsOfExperience = yearsOfExperience; } void introduce() { System.out.println("Hi, my name is " + name + ", I am " + age + " years old and have " + yearsOfExperience + " years of experience"); } }

Comme vous pouvez le constater, nous utilisons un tableau d’objets Player dans le champ players de la classe Team. À partir de cela, nous pouvons tirer quelques conclusions :

  1. Possibilité de créer des tableaux d’objets à partir de notre propre classe créée ;
  2. Possibilité d’utiliser des objets d’une classe au sein d’une autre classe afin d’améliorer la logique globale.

Mais une question se pose : Comment remplir ce tableau ?

Réponse : Pour cela, il est nécessaire de créer plusieurs objets Player et de les ajouter au tableau de joueurs. Créons une Dream Team dans la méthode main et examinons un exemple :

Main.java

Main.java

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { Player bob = new Player("Bob", 32, 5); Player alice = new Player("Alice", 28, 8); Player john = new Player("John", 41, 20); Player[] players = {bob, alice, john}; Team dreamTeam = new Team("Dream Team", "USA", players); System.out.println(dreamTeam); } } class Team { String title; String country; Player[] players; public Team(String title, String country, Player[] players) { this.title = title; this.country = country; this.players = players; } void play() { System.out.println("Team " + title + "is playing!"); } @Override public String toString() { return "Team{" + "title='" + title + '\'' + ", country='" + country + '\'' + ", players=" + Arrays.toString(players) + '}'; } } class Player { String name; int age; int yearsOfExperience; public Player(String name, int age, int yearsOfExperience) { this.name = name; this.age = age; this.yearsOfExperience = yearsOfExperience; } void introduce() { System.out.println("Hi, my name is " + name + ", I am " + age + " years old and have " + yearsOfExperience + " years of experience"); } @Override public String toString() { return "Player{" + "name='" + name + '\'' + ", age=" + age + ", yearsOfExperience=" + yearsOfExperience + '}'; } }

Nous avons créé 3 objets de la classe Player et initialisé leurs champs via le constructeur. Ensuite, nous créons un tableau de type Player et y ajoutons Bob, Alice et John. Ensuite, nous créons un objet Team et initialisons ses champs via le constructeur. Nous initialisons le champ players[] avec le tableau précédemment créé. Nous affichons l’objet dans la console et constatons que l’objet Team contient des objets Player dans la sortie.

Propriétaire et animal de compagnie

Examinons un autre exemple plus simple. Supposons que nous ayons un Owner et un Pet. Nous allons créer une classe distincte pour chacun. La classe Pet aura un seul champ : String name. La classe Owner aura deux champs : String name et Pet pet.

Pet.java

Pet.java

copy
123456789101112131415161718
class Pet { String name; public Pet(String name) { this.name = name; } } class Owner { String name; Pet pet; public Owner(String name, Pet pet) { this.name = name; this.pet = pet; } }

Comme vous pouvez le constater, ces deux classes sont également liées, car la classe Owner possède un champ de type Pet (qui est la classe que nous avons créée nous-mêmes !).

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 1
some-alt