J'ai des problèmes pour comprendre ce qui se passe dans l'exercice suivant, j'apprends Smalltalk, donc je suis novice.Problèmes avec les classes (super nouveau)
Classe A >> new ^ nouvelle initialisation.
A >> initialiser a: = 0.
Classe B >> nouveau: aParamètre | instance | instance: = super nouveau. instance b: instance a + aParamètre. ^ instance
B >> initialiser b: = 0.
Le problème dit ce qui se passe lorsque le code suivant est exécuté:
B nouveau: 10.
Mais je ne peux pas comprendre pourquoi la variable d'instance n'appartient pas à une classe.
Merci
Qu'est-ce que vous voyez qui est inattendu? Avez-vous une erreur? Je ne comprends pas votre dernière phrase. Quelle variable d'instance n'appartient pas à A (ou A class?) Qui devrait l'être? –
Quand j'exécute le code (B new: 10.) J'obtiens une erreur disant que la méthode + n'est pas définie, et la classe de la variable d'instance est B, pas A (la super classe de B), c'est pourquoi je suis confus. Pour être plus propre, je ne sais pas pourquoi lorsque le code s'exécute: instance: = super nouveau. La classe de la variable d'instance est B et je ne peux pas exécuter l'étape suivante. – Gonzalo
+1 pour trouver et réparer votre propre problème. –