# Un fichier = un module. Les classes d'un module sont définies dans le fichier.
# Au début des fichiers, les modules à importer doivent être déclarés (via le
# mot clé "import"). Implicitement, tout module importe le module nommé
-# "standard" qui définit les classes usuelles.
+# "core" qui définit les classes usuelles.
# On va étudier une représentation d'un entrepôt de produits variés.
class Entrepot
# receveur ("self")
# Les attributs sont déclarés par le mot clé "fun" et commencent par un "@"
- var nom_: String # Un entrepôt a un nom (de type chaîne).
- var rayons: Array[Rayon] # Il est composé d'un ensemble de rayon.
+ var nom_: String is noinit # Un entrepôt a un nom (de type chaîne).
+ var rayons: Array[Rayon] is noinit # Il est composé d'un ensemble de rayon.
# "Array" est une classe paramétrée, les crochets en sont la marque.
# La classe "Rayon" est définie plus loin
class Rayon
private
- var stock: Array[Produit] # Des produits en stock
- var rubrique: String # La catégorie des produits stockés
+ var stock: Array[Produit] is noinit # Des produits en stock
+ var rubrique: String is noinit # La catégorie des produits stockés
# Cette fonction est utilisé par to_s pour afficher un petit titre
fun to_s_head: String
# pour obtenir la quantité de clous dans le rayon, et :
# r.quantite("clous") = 15
# pour mettre le nombre de clous à 15
-
- init do end
end
class RayonNormal