Menu
Coddy logo textTech

Méthode constructeur

Fait partie de la section Programmation Orientée Objet du Journey Java de Coddy — leçon 7 sur 87.

Un constructeur est une méthode spéciale qui s'exécute automatiquement lorsque vous créez un objet avec new. Il porte le même nom que la classe et n'a pas de type de retour.

Constructeur de base

public class Book {
    private String title;
    private String author;
    
    public Book(String title, String author) {
        this.title = title;
        this.author = author;
    }
}

Constructeur par défaut (sans paramètres)

public class Book {
    private String title;
    
    public Book() {
        this.title = "Unknown";
    }
}

Le constructeur initialise l'état de l'objet

Book book = new Book("1984", "Orwell");
// Le constructeur s'exécute immédiatement, les champs sont définis

Si vous n'écrivez pas de constructeur, Java en fournit un par défaut vide. Une fois que vous écrivez un constructeur, celui par défaut n'est plus fourni automatiquement.

challenge icon

Défi

Moyen

Créez une classe Book avec un constructeur qui initialise tous les champs :

  • Champs privés : title, author (String), pages (int)
  • Un constructeur qui prend les trois valeurs et les assigne en utilisant this
  • Des méthodes getter pour chaque champ
  • Une méthode getSummary() retournant "<title> by <author> (<pages> pages)"

Aide-mémoire

Un constructeur est une méthode spéciale qui s'exécute automatiquement lorsque vous créez un objet avec new. Il porte le même nom que la classe et n'a pas de type de retour.

Constructeur de base :

public class Book {
    private String title;
    private String author;
    
    public Book(String title, String author) {
        this.title = title;
        this.author = author;
    }
}

Constructeur par défaut (sans paramètres) :

public class Book {
    private String title;
    
    public Book() {
        this.title = "Unknown";
    }
}

Utilisation d'un constructeur pour créer un objet :

Book book = new Book("1984", "Orwell");
// Le constructeur s'exécute immédiatement, les champs sont définis

Si vous n'écrivez pas de constructeur, Java en fournit un par défaut vide. Une fois que vous écrivez un constructeur, celui par défaut n'est plus fourni automatiquement.

Essayez vous-même

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        int pages = Integer.parseInt(scanner.nextLine());
        
        Book book = new Book(title, author, pages);
        
        System.out.println("Title: " + book.getTitle());
        System.out.println("Author: " + book.getAuthor());
        System.out.println("Pages: " + book.getPages());
        System.out.println(book.getSummary());
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Programmation Orientée Objet