Les classes
Exemple d'une classe
Les classes servent à décrire un objet de manière générale. Celle-ci pourra être instanciée ou réutilisée. Elle sert en sorte de base.
MonObjet.java
public class MonObjet {
private String unePropTexte = "Valeur non définie";
private Integer unePropNombre;
private Float unePropDecimale;
private Boolean unePropVraiFaux;
// Un constructeur vide
public MonObjet() { }
// Un second constructeur avec des valeurs
public MonObjet (String unePropTexte) {
this.unePropTexte = unePropTexte;
}
// Une méthode statique pour créer un objet avec des valeurs par défaut
public static MonObjet builder() {
return new MonObjet("Valeur par défaut");
}
// Une méthode pour assigner un nombre
public void setNombre(int unePropNombre) {
this.unePropNombre = unePropNombre;
}
// Une fonction pour obtenir le nombre
public Integer getNombre() {
return unePropNombre;
}
// Remplacer la fonction toString() pour l'afficher en console
@Override
public String toString() {
return "MonObjet : unePropTexte='" + unePropTexte + "'";
}
}
La classe MonObjet
pourrait alors être instancié de multiples façons :
// Instancier mes objets
MonObjet obj1 = new MonObjet();
MonObjet obj2 = new MonObjet("Valeur Initiale");
MonObjet obj3 = MonObjet.builder();
// Afficher à la console - utilise la fonction toString() de l'objet
System.out.println(obj1);
System.out.println(obj2);
System.out.println(obj3);
Pour avoir le résultat suivant :
MonObjet : unePropTexte='Valeur non définie'
MonObjet : unePropTexte='Valeur Initiale'
MonObjet : unePropTexte='Valeur par défaut'
Les mots-clés
Mot | Description |
---|---|
public |
Permet l'utilisation à l'extérieur de l'objet instancié |
private |
Restreint l'utilisation à l'objet même |
static |
Permet l'utilisation sans avoir à instancier l'objet |
final |
Sur une classe, indique qu'elle ne pourra pas être héritée (extends )Sur une fonction, indique qu'elle ne pourra pas être remplacée ( @Overload )Sur une variable, indique qu'elle ne pourra pas être remplacée (constante) |
void |
Indique une fonction qui ne retourne rien (une méthode) |
extends |
Permet d'hériter d'une autre classe |
implements |
Permet d'hériter d'une autre classe |
abstract |
Sur une classe, indique qu'elle possède des fonctions abstraites à définir Sur une fonction, indique que la fonction est à définir |
Implémentation d'une classe
Un exemple classique d'une classe est une Personne
. Celle-ci possède :
- Un nom et un prénom
- Une date de naissance
- Un genre
Ce sont des propriétés d'une classe. Une fois instanciée, on pourra alors créer plusieurs Personne
avec un nom, date de naissance et genre différent :
- Sébastien, 1985, genre masculin
- Valérie, 1990, genre féminin
- Rémy, 1980, genre douillet
Des actions peuvent être définies à l'aide de fonctions sur une Personne
, comme calculer l'age. La fonction getAge()
pourra alors calculer l'âge individuellement des objets :