Metodu #new definuješ tak, že např. vyvolá výjimku:
new
    self error: 'Use #ic: to create new instances.'
A v metodě #ic: použiješ self basicNew initialize místo self new pro vytvoření nové instance:
ic: ic
    ^ self basicNew
        initialize;
        ic: ic
Nově vytvořené instanci je nutné zaslat #initialize, protože to právě standardně zajišťuje #new, které v tomto případě obcházíš.
|   | 2 |  No.2 Revision  | 
Metodu #new definuješ tak, že např. vyvolá výjimku:
new
    self error: 'Use #ic: to create new instances.'
A v metodě #ic: použiješ self basicNew initialize místo self new pro vytvoření nové instance:
ic: ic
    ^ self basicNew
        initialize;
        ic: ic
#basicNew je primitivní metoda pro skutečné vytvoření nové instance. Nově vytvořené instanci je nutné zaslat #initialize, protože to právě standardně zajišťuje metoda #new, které  (je definována jako ^ self basicNew initialize), kterou v tomto případě obcházíš.
 Copyright students of FIT CTU and others, 2014. Content on this site is licensed under a Creative Commons Attribution-ShareAlike 4.0 International license.
 
                
                Copyright students of FIT CTU and others, 2014. Content on this site is licensed under a Creative Commons Attribution-ShareAlike 4.0 International license.