Sharing Classes Between FamiliesNovember 4th, 2008
FiledNovember 4th, 2008Class sharing is a new language mechanism for building extensible software systems. Recent work has separately explored two dif- ferent kinds of extensibility: first, family inheritance, in which an entire family of related classes can be inherited, and second, adap- tation, in which existing objects are extended in place with new behavior and state. Class sharing integrates these two kinds of ex- tensibility mechanisms. With little programmer effort, objects of one family can be used as members of another, while preserving relationships among objects. Therefore, a family of classes can be adapted in place with new functionality spanning multiple classes. Object graphs can evolve from one family to another, adding or removing functionality even at run time.