Compte bancaire
Une classe Compte avec dépôt et retrait : des champs, des méthodes et des objets.
Type : BERKIOS Core · Niveau : intermédiaire · Fichier : compte.bks
Ce que vous allez apprendre
- Définir une classe avec ses champs et ses méthodes.
- Créer un objet et appeler ses méthodes.
- Modifier l'état d'un objet avec
self.
Avant de commencer
Connaître les fonctions Core : voir Remise et total à payer.
Étape 1 : récupérer l'exemple
Téléchargez, décompressez, ouvrez compte.bks dans un éditeur de texte.
Étape 2 : le code
module "Comptes"
class Compte
titulaire: Text
solde: Int
fn deposer(montant: Int) -> Int
self.solde = self.solde + montant
retourner self.solde
fn retirer(montant: Int) -> Int
self.solde = self.solde - montant
retourner self.solde
fn main() -> Int
soit compte = Compte("Amina", 100)
afficher compte.deposer(50)
afficher compte.retirer(20)
afficher compte.solde
retourner 0Étape 3 : lancer
berkios core compte.bksBERKIOS Core : Comptes — 1 fonction(s), 1 type(s) : vérification réussie.
150
130
130Le code expliqué
| Partie | Rôle |
|---|---|
class Compte | Déclare un nouveau type d'objet. |
titulaire: Text, solde: Int | Les champs : les données que porte chaque compte. |
fn deposer(montant: Int) -> Int | Une méthode : une fonction qui appartient à la classe. |
self.solde | self désigne le compte sur lequel on travaille. |
Compte("Amina", 100) | Crée un objet. Les valeurs suivent l'ordre des champs : titulaire, puis solde. |
compte.deposer(50) | Appelle la méthode : le solde passe de 100 à 150. |
Cet exemple mélange des mots-clés anglais (
class,fn,Text,Int) et français (soit,afficher,retourner) : le compilateur les accepte ensemble. Pour un code lisible, choisissez une langue et gardez-la.
À vous de jouer : un retrait trop grand
Que se passe-t-il si on retire plus que le solde ? Remplacez compte.solde par compte.retirer(500) : le programme affiche -370. Le compte est devenu négatif. Ajoutons une protection avec si :
module "Comptes"
class Compte
titulaire: Text
solde: Int
fn retirer(montant: Int) -> Int
si montant > self.solde
afficher "Solde insuffisant"
retourner self.solde
self.solde = self.solde - montant
retourner self.solde
fn main() -> Int
soit compte = Compte("Amina", 100)
afficher compte.retirer(500)
afficher compte.retirer(30)
retourner 0Résultat : Solde insuffisant, 100, puis 70.
Pour aller plus loin
- Exemple suivant : Ma première application (on passe aux interfaces)
- Leçon : Types, classes et héritage
Cette page en Markdown · llms.txt · documentation complète pour les IA