Problems with classes (super new)
I've problems to figure it out what's happening in the following exercise, I'm learning Smalltalk, so I'm newbie.
Class A>>new ^super new initialize.
开发者_StackOverflow社区A>>initialize a:=0.
Class B>>new: aParameter |instance| instance := super new. instance b: instance a + aParameter. ^instance
B>>initialize b:=0.
The problem says what happen when the following code is executed:
B new:10.
But I can't not figure it out why instance variable does not belong to A class.
Thanks
I discovered the issue, the missing of super initialize, when the code was executed the initializer of "instance := super new." was the initializer of class B, that's why the A instance var was not initialized, the following code fix the issue:
B>>initialize
super initialize.
b:=0.
精彩评论