Logtalk entity directive: object/1-4

contents > reference manual > directives

## `object/1-5`

#### Description

> Stand-alone objects

>     object(Object)

>     object(Object,
>         implements(Protocols))

>     object(Object,
>         imports(Categories))

>     object(Object,
>         implements(Protocols),
>         imports(Categories))

> Prototypes

>     object(Object,
>         extends(Objects))

>     object(Object,
>         implements(Protocols),
>         extends(Objects))

>     object(Object,
>         imports(Categories),
>         extends(Objects))

>     object(Object,
>         implements(Protocols),
>         imports(Categories),
>         extends(Objects))

> Instances

>     object(Object,
>         instantiates(Classes))

>     object(Object,
>         implements(Protocols),
>         instantiates(Classes))

>     object(Object,
>         imports(Categories),
>         instantiates(Classes))

>     object(Object,
>         implements(Protocols),
>         imports(Categories),
>         instantiates(Classes))

> Classes

>     object(Object,
>         specializes(Classes))

>     object(Object,
>         implements(Protocols),
>         specializes(Classes))

>     object(Object,
>         imports(Categories),
>         specializes(Classes))

>     object(Object,
>         implements(Protocols),
>         imports(Categories),
>         specializes(Classes))

> Metaclasses

>     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))

> Starting object directive.

#### Template and modes

> Stand-alone objects

>     object(+object_identifier)

>     object(+object_identifier,
>         implements(+implemented_protocols))

>     object(+object_identifier,
>         imports(+imported_categories))

>     object(+object_identifier,
>         implements(+implemented_protocols),
>         imports(+imported_categories))

> Prototypes

>     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))

> Instances

>     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))

> Classes

>     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))

> Metaclasses

>     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))

#### Examples

>     :- 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)).

previous | glossary | next
Copyright © Paulo Moura — Logtalk.org