Core
Core : types, classes et héritage
Définir un type de données
Un type regroupe des champs :
module "Capteurs"
type LectureCapteur
capteur: Texte
temperature: Décimal
valide: Bool
fonction principale() -> Entier
soit lecture = LectureCapteur("T1", 21.4, true)
afficher lecture.temperature
retourner 0Les classes
Une classe ajoute des méthodes qui agissent sur ses champs. Dans une méthode, self désigne l'objet courant.
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 0Résultat : 150, 130, 130.
On crée un objet en appelant la classe avec la valeur de chaque champ, dans l'ordre : Compte("Amina", 100).
L'héritage
extends permet à une classe de reprendre une autre classe et de redéfinir ses méthodes :
class Animal
nom: Text
fn parler() -> Text
retourner "..."
class Chien extends Animal
race: Text
fn parler() -> Text
retourner "Wouf !"Les interfaces
Une interface décrit ce qu'une classe doit savoir faire, sans dire comment :
interface Rechargeable
fn recharger(quantite: Int) -> Int
class Batterie implements Rechargeable
niveau: Int
fn recharger(quantite: Int) -> Int
self.niveau = self.niveau + quantite
retourner self.niveauPour aller plus loin
Le dépôt contient des exemples exécutables dans compiler/examples/core/ : classes, héritage, interfaces, génériques, modules et valeurs typées. Exécutez-les avec berkios core <fichier>.bks.
Cette page en Markdown · llms.txt · documentation complète pour les IA