Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Getter et Setter | 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
Getter et Setter

La meilleure façon de contourner le modificateur d'accès private

Tous les programmeurs Java utilisent des constructions appelées getters et setters.

Les getters et setters sont des méthodes qui suivent un schéma spécifique. Elles sont utilisées pour contourner le modificateur d'accès private et manipuler efficacement les champs d'une autre classe.

À quoi servent les getters et setters ?

En termes simples, le setter permet d'attribuer une valeur à un champ spécifique protégé par le modificateur d'accès private, tandis que le getter permet de récupérer la valeur d'un champ protégé par le modificateur d'accès private.

La syntaxe d'un getter et d'un setter :

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Comme vous pouvez le voir dans le code ci-dessus, nous utilisons la convention de nommage pour les méthodes getFieldName() et setFieldName(). Ainsi, si nous avons un champ private String name et que nous créons un getter et un setter nommés respectivement getName() et setName(). Il convient également de noter que le getter retourne une valeur du même type que le champ name, tandis que le setter prend un paramètre du même type que le champ name.

Cela nous permet d'accéder aux champs protégés par le modificateur d'accès private. Examinons un exemple d'accès à un champ privé de la classe Person dans la classe main :

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Comme vous pouvez le constater, nous utilisons le setter pour attribuer une valeur au champ name, puis nous utilisons le getter pour afficher la valeur du champ name à l'écran. Portez attention à la syntaxe du getter et du setter, ainsi qu'au fait que le champ name dans la classe Person est protégé par le modificateur d'accès private.

Constructeur vs Getter/Setter

Lequel est préférable d'utiliser : l'initialisation via un constructeur + la surcharge de la méthode toString(), ou l'utilisation des getters et setters ?

Il est clairement préférable d'utiliser les getters et setters pour accéder aux champs protégés par le modificateur d'accès private. Cela offre une plus grande flexibilité dans le code et améliore sa lisibilité. Lorsque vous voyez l'utilisation de la méthode getName() dans le code, vous comprenez immédiatement que cette méthode récupère le champ nommé name. Il en va de même lorsque vous voyez l'utilisation de la méthode setName(), vous comprenez immédiatement que vous attribuez une valeur spécifique au champ pour l'objet de la classe dans laquelle elle est utilisée. Si d'autres personnes lisent votre code, elles apprécieront la présence de getters et setters.

Il convient également de noter que chaque champ nécessite son propre getter et setter. Si une classe possède deux champs protégés par le modificateur d'accès private, la classe doit avoir un getter pour chaque champ, soit deux getters et deux setters. Examinons un exemple où nous ajoutons un champ age à la classe Person :

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Comme vous pouvez le constater, nous avons créé un getter et un setter pour chaque champ de la classe Person. Dans la méthode main, nous avons initialisé les champs à l'aide du setter et affiché leurs valeurs à l'écran à l'aide du getter. L'utilisation de ces méthodes est très pratique, et vous les utiliserez fréquemment à l'avenir.

1. Quel est l'objectif d'utiliser des getters et des setters ?

2. Quelle est la syntaxe d'une méthode getter en Java ?

3. Quelle est la syntaxe d'une méthode setter en Java ?

question mark

Quel est l'objectif d'utiliser des getters et des setters ?

Select the correct answer

question mark

Quelle est la syntaxe d'une méthode getter en Java ?

Select the correct answer

question mark

Quelle est la syntaxe d'une méthode setter en Java ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 5

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
Getter et Setter

La meilleure façon de contourner le modificateur d'accès private

Tous les programmeurs Java utilisent des constructions appelées getters et setters.

Les getters et setters sont des méthodes qui suivent un schéma spécifique. Elles sont utilisées pour contourner le modificateur d'accès private et manipuler efficacement les champs d'une autre classe.

À quoi servent les getters et setters ?

En termes simples, le setter permet d'attribuer une valeur à un champ spécifique protégé par le modificateur d'accès private, tandis que le getter permet de récupérer la valeur d'un champ protégé par le modificateur d'accès private.

La syntaxe d'un getter et d'un setter :

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Comme vous pouvez le voir dans le code ci-dessus, nous utilisons la convention de nommage pour les méthodes getFieldName() et setFieldName(). Ainsi, si nous avons un champ private String name et que nous créons un getter et un setter nommés respectivement getName() et setName(). Il convient également de noter que le getter retourne une valeur du même type que le champ name, tandis que le setter prend un paramètre du même type que le champ name.

Cela nous permet d'accéder aux champs protégés par le modificateur d'accès private. Examinons un exemple d'accès à un champ privé de la classe Person dans la classe main :

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Comme vous pouvez le constater, nous utilisons le setter pour attribuer une valeur au champ name, puis nous utilisons le getter pour afficher la valeur du champ name à l'écran. Portez attention à la syntaxe du getter et du setter, ainsi qu'au fait que le champ name dans la classe Person est protégé par le modificateur d'accès private.

Constructeur vs Getter/Setter

Lequel est préférable d'utiliser : l'initialisation via un constructeur + la surcharge de la méthode toString(), ou l'utilisation des getters et setters ?

Il est clairement préférable d'utiliser les getters et setters pour accéder aux champs protégés par le modificateur d'accès private. Cela offre une plus grande flexibilité dans le code et améliore sa lisibilité. Lorsque vous voyez l'utilisation de la méthode getName() dans le code, vous comprenez immédiatement que cette méthode récupère le champ nommé name. Il en va de même lorsque vous voyez l'utilisation de la méthode setName(), vous comprenez immédiatement que vous attribuez une valeur spécifique au champ pour l'objet de la classe dans laquelle elle est utilisée. Si d'autres personnes lisent votre code, elles apprécieront la présence de getters et setters.

Il convient également de noter que chaque champ nécessite son propre getter et setter. Si une classe possède deux champs protégés par le modificateur d'accès private, la classe doit avoir un getter pour chaque champ, soit deux getters et deux setters. Examinons un exemple où nous ajoutons un champ age à la classe Person :

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Comme vous pouvez le constater, nous avons créé un getter et un setter pour chaque champ de la classe Person. Dans la méthode main, nous avons initialisé les champs à l'aide du setter et affiché leurs valeurs à l'écran à l'aide du getter. L'utilisation de ces méthodes est très pratique, et vous les utiliserez fréquemment à l'avenir.

1. Quel est l'objectif d'utiliser des getters et des setters ?

2. Quelle est la syntaxe d'une méthode getter en Java ?

3. Quelle est la syntaxe d'une méthode setter en Java ?

question mark

Quel est l'objectif d'utiliser des getters et des setters ?

Select the correct answer

question mark

Quelle est la syntaxe d'une méthode getter en Java ?

Select the correct answer

question mark

Quelle est la syntaxe d'une méthode setter en Java ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 5
some-alt