Menu
Coddy logo textTech

Champs (Attributs)

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

Les champs (attributs) sont des variables qui stockent des données à l'intérieur d'une classe. Ils sont généralement private et on y accède via des méthodes getter et setter.

Déclaration de champs

public class Person {
    private String name;
    private int age;
}

Ajout de getters et setters

public class Person {
    private String name;
    private int age;
    
    public String getName() {
        return this.name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public int getAge() {
        return this.age;
    }
    
    public void setAge(int age) {
        if (age >= 0) {
            this.age = age;
        }
    }
}

Utilisation de la classe

Person person = new Person();
person.setName("Alice");
person.setAge(25);
System.out.println(person.getName());  // Alice

Rendre les champs private est appelé l'encapsulation. Cela protège les données en contrôlant l'accès via des méthodes, vous permettant d'ajouter une validation dans les setters.

challenge icon

Défi

Moyen

Créez une classe BankAccount avec des champs privés et des méthodes getter :

  • Champs privés : accountName (String) et balance (double)
  • Un constructeur pour initialiser les deux champs
  • Des méthodes getter pour chaque champ
  • Une méthode deposit() pour ajouter de l'argent
  • Une méthode withdraw() qui retourne "Success" ou "Insufficient funds"

Aide-mémoire

Les champs (attributs) sont des variables qui stockent des données à l'intérieur d'une classe. Ils sont généralement private et accessibles via des méthodes getter et setter.

Déclaration de champs privés :

public class Person {
    private String name;
    private int age;
}

Ajout de getters et setters :

public class Person {
    private String name;
    private int age;
    
    public String getName() {
        return this.name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public int getAge() {
        return this.age;
    }
    
    public void setAge(int age) {
        if (age >= 0) {
            this.age = age;
        }
    }
}

Utilisation de la classe :

Person person = new Person();
person.setName("Alice");
person.setAge(25);
System.out.println(person.getName());  // Alice

Rendre les champs private s'appelle l'encapsulation. Cela protège les données en contrôlant l'accès via des méthodes, vous permettant d'ajouter une validation dans les setters.

Essayez vous-même

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        double initial = Double.parseDouble(scanner.nextLine());
        double deposit = Double.parseDouble(scanner.nextLine());
        
        BankAccount account = new BankAccount(name, initial);
        
        System.out.println("Account: " + account.getAccountName());
        System.out.println("Balance: " + account.getBalance());
        
        account.deposit(deposit);
        System.out.println("After deposit: " + account.getBalance());
        
        String result = account.withdraw(2000);
        System.out.println("Withdraw 2000: " + result);
        System.out.println("Final Balance: " + account.getBalance());
    }
}
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