=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.14.3

Copyright (c) 1998-2002 Paulo Moura.  All Rights Reserved.
=================================================================



% parent interface

| ?- parent::interface.

public/0 - public
protected/0 - protected
private/0 - private
interface/0 - public

yes


% prototype1 extends public::parent

| ?- prototype1::interface.

interface/0 - public
public/0 - public
protected/0 - protected

yes


% prototype2 extends protected::parent

| ?- prototype2::interface.

interface/0 - public
public/0 - protected
protected/0 - protected

yes


% prototype3 extends private::parent

| ?- prototype3::interface.

interface/0 - public
public/0 - private
protected/0 - private

yes


% descendant1 extends public::prototype1

| ?- descendant1::interface.

interface/0 - public
public/0 - public
protected/0 - protected

yes


% descendant2 extends public::prototype2

| ?- descendant2::interface.

interface/0 - public
public/0 - protected
protected/0 - protected

yes


% descendant3 extends public::prototype3

| ?- descendant3::interface.

interface/0 - public

yes


% object (root of the inheritance graph) interface

| ?- root::interface.

public/0 - public
protected/0 - protected
private/0 - private
interface/0 - public

yes


% instance1 instantiates subclass1 that specializes public::root

| ?- instance1::interface.

interface/0 - public
public/0 - public
protected/0 - protected

yes


% instance2 instantiates subclass2 that specializes protected::root

| ?- instance2::interface.

interface/0 - public
public/0 - protected
protected/0 - protected

yes


% instance3 instantiates subclass3 that specializes private::root

| ?- instance3::interface.

interface/0 - public
public/0 - private
protected/0 - private

yes