=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
To load this example and for sample queries, please see the SCRIPT file.
Example adopted from the chapter "Classifying Prototype-Based Programming
Languages" by Christophe Dony, Jacques Malenfant, and Daniel Bardou, found
on the book "Prototype-Based Programming - Concepts, Languages, and
Applications" published by Springer.
This prototype programming example illustrates how we can do both property
sharing and value sharing in Logtalk by calling the built-in predicate
modification methods asserta/1, assertz/1, and retract/1 either in the
context of "this" or in the context of "self".
In this example we have a prototype, joePerson, containing general data on
Joe such as its age, name, or address, and four descendant prototypes or
viewpoints, joeSportsman, joeEmployee, joeChessPlayer, and joeFilmEnthusiast.
Each descendant contains data related to a particular viewpoint about Joe.