X-Git-Url: http://nitlanguage.org diff --git a/tests/example_objet.nit b/tests/example_objet.nit index ac72c4e..d55dba2 100644 --- a/tests/example_objet.nit +++ b/tests/example_objet.nit @@ -53,7 +53,7 @@ # 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 @@ -62,8 +62,8 @@ private # 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 @@ -101,7 +101,7 @@ private do # Les variables sont déclarées par "var", leur portée va de leur # déclaration jusqu'au "end" correspondant - var s = new Buffer # Là où on calcule le résultat + var s = new FlatBuffer # Là où on calcule le résultat # Les chaînes littérales sont déclarées avec des guillemets s.append("*** Entrepôt ") # On initialise "s" # puis on concatène des chaînes à "s" @@ -156,8 +156,8 @@ end class Produit private - var _nom_: String # Désignation du produit - var _qte_: Int # Quantité en stock + var nom_: String # Désignation du produit + var qte_: Int # Quantité en stock @@ -208,8 +208,8 @@ end 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 @@ -218,7 +218,7 @@ private # Si une expression est passée comme valeur initiale d'une # variable, le type statique de la variable est implicitement # celui de l'expression. - var s = new Buffer + var s = new FlatBuffer s.append("* Rayon : ") # Ici, le type statique de s est implicitement String @@ -245,7 +245,7 @@ private redef fun to_s: String do - var s = new Buffer + var s = new FlatBuffer s.append(to_s_head) # Les boucles en NIT sont des structures puissantes, toutefois # la manipulation des itérateurs peut être facilité par la @@ -300,12 +300,10 @@ private # 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 -special Rayon + super Rayon init(r: String) do @@ -317,7 +315,7 @@ end class RayonFroid # Les super-classes sont déclarés avec le mot clé "special". # Implicitement, c'est "Object", la classe de tous les objets. -special Rayon + super Rayon # Tant qu'on parle d'implicite, en l'absence de bloc de propriétés, # celles-ci sont déclarées en tant que "public" @@ -326,7 +324,7 @@ special Rayon return _temp_max_ # Attribut défini juste en dessous end - var _temp_max_: Int # Une température maximale + var temp_max_: Int # Une température maximale # Les autres attributs sont bien sûr hérités ! redef fun to_s_head: String # On redéfinit cette méthode