Results 1 -
2 of
2
Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems
, 1986
"... A traditional philosophical controversy between representing general concepts as abstract sets or classes and representing concepts as concrete prototypes is reflected in a controversy between two mechanisms for sharing behavior between objects in object oriented programming languages. Inheritance s ..."
Abstract
-
Cited by 322 (2 self)
- Add to MetaCart
A traditional philosophical controversy between representing general concepts as abstract sets or classes and representing concepts as concrete prototypes is reflected in a controversy between two mechanisms for sharing behavior between objects in object oriented programming languages. Inheritance splits the object world into classes, which encode behavior shared among a group of instances, which represent individual members of these sets. The class/instance distinction is not needed if the alternative of using prototypes is adopted. A prototype represents the default behavior for a concept, and new objects can re-use part of the knowledge stored in the prototype by saying how the new object differs from the prototype. The prototype approach seems to hold some advantages for representing default knowledge, and incrementally and dynamically modifying concepts. Delegation is the mechanism for implementing this in object oriented languages. After checking its idiosyncratic behavior, an ob...
U$ina Prototynical Obiects to Imolement Shared Behavior in Obiect Oriented Systems
"... with practical consequences A traditional philosophical controversy between representing general concepts as abstract sets or classes and representing concepts as concrete prowrypes is reflected in a controversy between two mechanisms for sharing behavior between objects in object oriented progrJmmt ..."
Abstract
- Add to MetaCart
with practical consequences A traditional philosophical controversy between representing general concepts as abstract sets or classes and representing concepts as concrete prowrypes is reflected in a controversy between two mechanisms for sharing behavior between objects in object oriented progrJmmtng languages. l,~,~rance,pUts the object world into c/asses, which encode behavior shared among a group of ins~,,ces, which represem individual membe ~ of these sets. The class/instanee distinction is not needed if the alternative of asing prototypes is adopted. A prototype repre~ms the d4au/t behavior for a concept, and new objects can re-use part of the lw~wledge uored in the prototype by saying how the new object diHers from the prototype. The prototype approach seems to hold some advantages for representing default knowledge, and incrementally and dynamically modifying concepts. Delegation is the mechanism for implementing this in object oriented languages. After checking its idiosyncratic behavior, an object can forward a message to prototypes to invoke more general knowledge. Because class objects must be oreaw.d before their instances can be used. arid behavior can only be associar~l with classes, inheritance fixes the communication patterns between objects at instance creation dine. Because any object can be used as a prototype, and any messages can be forwarded at any time, delegation is the tno ~ flexible and general of the two techniques. Permission to copy without fee all or part of this matexia] is granted provided that the copies are not made or di~buted for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by pennimon of the Association for Computing Machinery. To copy otherwise, or to republish, ~quires a fee and/ or specific permis~on.

