The implementation of primitive operations must be the responsibility of the subclasses.
For messages where it is the responsibility of a subclass to provide the implementation, an abstract class implements the method by generating an error message. The `subclassResponsibility` protocol supported by class Object can be used to generate a message indicating that a subclass should have overridden the implementation of this method. This is useful when a new subclass is added and the programmer forgets to implement the entire protocol specified by the abstract superclass. Methods in the abstract class that must be re-implemented by subclasses should have the body
self subclassResponsibility
~
LALONDE, Wilf R. and PUGH, John R., 1990. Inside Smalltalk. Online. Englewood Cliffs, N.J: Prentice Hall. [Accessed 1 June 2021]. ISBN 978-0-13-468414-7. Available from: https://ur.zlibcdn2.com/book/679577/a5e00c , p. 61