<?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet type="text/css" href="../../styles.css" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <title>Logtalk entity directive: object/1-4</title> <link rel="stylesheet" href="../../styles.css" type="text/css" /> </head> <body> <div class="navtop"> <a href="../../index.html">contents</a> > <a href="../index.html">reference manual</a> > <a href="../index.html#directives">directives</a> </div> <h2><code>object/1-5</code></h2> <h4>Description</h4> <blockquote> <p> <em>Stand-alone objects</em> </p> <pre>object(Object) object(Object, implements(Protocols)) object(Object, imports(Categories)) object(Object, implements(Protocols), imports(Categories))</pre> <p> <em>Prototypes</em> </p> <pre>object(Object, extends(Objects)) object(Object, implements(Protocols), extends(Objects)) object(Object, imports(Categories), extends(Objects)) object(Object, implements(Protocols), imports(Categories), extends(Objects))</pre> <p> <em>Instances</em> </p> <pre>object(Object, instantiates(Classes)) object(Object, implements(Protocols), instantiates(Classes)) object(Object, imports(Categories), instantiates(Classes)) object(Object, implements(Protocols), imports(Categories), instantiates(Classes))</pre> <p> <em>Classes</em> </p> <pre>object(Object, specializes(Classes)) object(Object, implements(Protocols), specializes(Classes)) object(Object, imports(Categories), specializes(Classes)) object(Object, implements(Protocols), imports(Categories), specializes(Classes))</pre> <p> <em>Metaclasses</em> </p> <pre>object(Object, instantiates(Classes), specializes(Classes)) object(Object, implements(Protocols), instantiates(Classes), specializes(Classes)) object(Object, imports(Categories), instantiates(Classes), specializes(Classes)) object(Object, implements(Protocols), imports(Categories), instantiates(Classes), specializes(Classes))</pre> <p> Starting object directive. </p> </blockquote> <h4>Template and modes</h4> <blockquote> <p> <em>Stand-alone objects</em> </p> <pre>object(+object_identifier) object(+object_identifier, implements(+implemented_protocols)) object(+object_identifier, imports(+imported_categories)) object(+object_identifier, implements(+implemented_protocols), imports(+imported_categories))</pre> <p> <em>Prototypes</em> </p> <pre>object(+object_identifier, extends(+extended_objects)) object(+object_identifier, implements(+implemented_protocols), extends(+extended_objects)) object(+object_identifier, imports(+imported_categories), extends(+extended_objects)) object(+object_identifier, implements(+implemented_protocols), imports(+imported_categories), extends(+extended_objects))</pre> <p> <em>Instances</em> </p> <pre>object(+object_identifier, instantiates(+instantiated_objects)) object(+object_identifier, implements(+implemented_protocols), instantiates(+instantiated_objects)) object(+object_identifier, imports(+imported_categories), instantiates(+instantiated_objects)) object(+object_identifier, implements(+implemented_protocols), imports(+imported_categories), instantiates(+instantiated_objects))</pre> <p> <em>Classes</em> </p> <pre>object(+object_identifier, specializes(+specialized_objects)) object(+object_identifier, implements(+implemented_protocols), specializes(+specialized_objects)) object(+object_identifier, imports(+imported_categories), specializes(+specialized_objects)) object(+object_identifier, implements(+implemented_protocols), imports(+imported_categories), specializes(+specialized_objects))</pre> <p> <em>Metaclasses</em> </p> <pre>object(+object_identifier, instantiates(+instantiated_objects), specializes(+specialized_objects)) object(+object_identifier, implements(+implemented_protocols), instantiates(+instantiated_objects), specializes(+specialized_objects)) object(+object_identifier, imports(+imported_categories), instantiates(+instantiated_objects), specializes(+specialized_objects)) object(+object_identifier, implements(+implemented_protocols), imports(+imported_categories), instantiates(+instantiated_objects), specializes(+specialized_objects))</pre> </blockquote> <h4>Examples</h4> <blockquote> <pre>:- object(list). :- object(list, implements(listp)). :- object(list, extends(compound)). :- object(list, implements(listp), extends(compound)). :- object(object, imports(initialization), instantiates(class)). :- object(abstract_class, instantiates(class), specializes(object)). :- object(agent, imports(private::attributes)).</pre> </blockquote> <div class="navbottom"> <a href="initialization1.html">previous</a> | <a href="../../glossary.html">glossary</a> | <a href="protocol1_2.html">next</a> </div> <div class="copyright"> Copyright © <a href="mailto:pmoura@logtalk.org">Paulo Moura</a> — <a href="http://www.logtalk.org">Logtalk.org</a> </div> <div class="footer"> <p><span class="bleft"><a href="http://validator.w3.org/check/referer">XHTML</a> + <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a></span><span class="bright">Last updated on: December 23, 2003</span></p> </div> </body> </html>