+class_name ::<- +body_term

This operator can be used for sending a message to a specifc superclass of this instance and not to any of the superclasses. A superclass is a class of which the class of the current instance is derived. The operator cannot be used to send messages to a different instance. The right operand must always be the name of a method of a class.

see also: add_callback/3 add_callback/4 callbacks class_name/2 clear_var/1 del_obj/1 get_instance/2 instance/1 new_obj/2 new_obja/2  ispresent_callback/4 object-oriented prolog remove_callback/4 <-/2 this/1 ::<-/1

Example
stack::init :-
    container ::<- make_empty.
send the message 'make_empty' to the superclass named 'container' of the instance
test3::call5(Class, Method) :-
    Class ::<-Method.
send the value of the variable 'Method' as a message to the superclass of the class test3

 

Exceptions  
the classname operand is a variable an instantiation_error exception is thrown
the Classname operand is not a callable term a type_error(calleble, Classname) exception is thrown
the message operand is a variable an instantiation_error exception is thrown
the message to send is not an atom a type_error(atom, Arg) is thrown
Operator is not used in a method of an instance an evaluation_error(call_method, Operator) exception is thrown
the specified Classname is not a superclass an evaluation_error(call_method, Operator) exception is thrown

 

 

info@trinc-prolog.com