super
|
The super special form invokes a parent method of an object.
The parent methods invocation may include 0 or more arguments. Here we define a class Lambda, create an object of the class, and then
use the super function to invoke a method of the newly created object. Usage The super special form can only be used to invoke a parent method of a class Structure or
a class Lambda. The super Special Form causes a lookup of the method
name argument in the parent class methods Structure. If the method name is found, the Lambda bound
to the method name will be invoked.
(defclass employee()
svars:(String:Name (Number:Salary 0.0))
cvars:(empStatic)
(defun new(self name salary)
(setq Name (string name))
(setq Salary salary)
self) ;; end of new method
(defun talk(self)
(writeln "I " Name " am an employee.")
true) ;; end of talk method
;;.... other class methods here
true) ;; end of employee class
(defclass employee:manager()
svars:(String:Title)
(defun talk(self)
(writeln "I " Name " am a manager.")
true) ;; end of talk method
;;.... other class methods here
true) ;; end of manager class
;; Using super to invoke a parent method of an object created by a class Lambda
(setq mgr (new manager "Chuck Bigman" 36000.0)) ;; Create an object of class manager
(super talk:mgr) ;; writes on console, "I Chuck Bigman am an employee."
;; Using a short cut to super
(talk:(getGlobalValue (parent mgr)) mgr) ;; writes on console, "I Chuck Bigman am an employee."
;; Using a ref instead of super
((getGlobalValue (parent mgr))[talk:] mgr) ;; writes on console, "I Chuck Bigman am an employee."
(super methodName object) (super methodName object arg1 arg2...) (methodName object) (methodName object arg1 arg2 ...) Dependents upon the parent method invoked.
Expression:
Arguments
Name
Type
Description Argument: methodName Symbol
The name of the parent method to be invoked Argument: object Structure or Lambda
The target object of the message. Argument: args... all types
(Optional) The argument list.
Returns:
Here are a number of links to Lambda coding examples which contain this instruction in various use cases.
Here are the links to the data types of the function arguments.
Structure | or | Lambda |
Here are also a number of links to functions having arguments with any of these data types.
Analytic Information Server (AIS)AIS Component Systems
|