3 ms·
Abstracting behaviour out so that it can be shared by differing objects is a useful thing to be able to do. Putting shared behaviour (and maybe also assertions
by russellallen 17y ago
Abstracting behaviour out so that it can be shared by differing objects is a useful thing to be able to do. Putting shared behaviour (and maybe also assertions as to the structure of 'instances') in another object and calling it a 'class' is one way to achieve that -- but not the only way.
If you liked this I would recommend reading "The Treaty of Orlando" (DOI 10.1.1.55.482) and also anything you can get your hands on about a small forgotten language by Antero Taivalsaari called "Kevo".
Kevo was a prototype based OO language without any delegation or 'parent' slots. Every object was self-contained and carried around within it all of the functionality it needed. Functionality was shared by copying, and shared behaviour was not reified into a separate object (whether called a 'class' or not)