23 lines
1.0 KiB
Plaintext
23 lines
1.0 KiB
Plaintext
|
=================================================================
|
||
|
Logtalk - Object oriented extension to Prolog
|
||
|
Release 2.8.4
|
||
|
|
||
|
Copyright (c) 1998-2001 Paulo Moura. All Rights Reserved.
|
||
|
=================================================================
|
||
|
|
||
|
To load all objects in this example consult the viewpoints.loader utility
|
||
|
file (note that the *.loader files are Prolog files).
|
||
|
|
||
|
Example adopted from the paper "Classifying Prototype-Based Programming
|
||
|
Languages" by Christophe Dony, Jacques Malenfant and Daniel Bardou.
|
||
|
|
||
|
This prototype programming example ilustrates 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 named joePerson, containing general data
|
||
|
on joe like its age, name or address, and three descendants/viewpoints named
|
||
|
joeSportsman, joeEmployee, and joeFilmEnthusiast. Each descendant contains
|
||
|
data related to a particular viewpoint about joe.
|