Abstract | ||
---|---|---|
We introduce a concept of multiple dynamic classification, a powerful generalization of single-inheritance OO, and a language Ferret which implements it. Multiple classification allows Male, Female, and Married to be subclasses of Person, arranged so that a single Person object may be both Male and Married, but may not be both Male and Female. Dynamic classification allows classes to change: a Person may acquire or lose Married status. The subclasses are true subclasses. Married carries fields (e.g., spouse) which are specific to married people. Methods may be defined on classes, and even on Boolean combinations of class: Male&Married. Ferret provides a generalization of superclass calls, so that the methods for Male&Married can be based on those for Male and Married, without losing other classifications like Employee. Ferret has mutators, analogous to constructors but applicable when objects change class. The resulting language is powerful and highly expressive. |
Year | DOI | Venue |
---|---|---|
2009 | 10.1016/j.cl.2008.05.005 | Computer Languages, Systems & Structures |
Keywords | Field | DocType |
dynamic classification,powerful generalization,multiple classification,programming language support,single person object,married status,true subclasses,multiple dynamic classification,objects change class,language ferret,married people,power generation,object oriented programming,programming language | Spouse,Programming language,Superclass,Object-oriented programming,Computer science,Single person,Artificial intelligence,Married Status,Multiple classification | Journal |
Volume | Issue | ISSN |
35 | 3 | Computer Languages, Systems & Structures |
Citations | PageRank | References |
1 | 0.39 | 4 |
Authors | ||
4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Bard Bloom | 1 | 664 | 56.46 |
Paul Keyser | 2 | 1 | 0.73 |
Ian Simmonds | 3 | 34 | 8.45 |
Mark N. Wegman | 4 | 3469 | 1358.45 |