Anonymous user
Call an object method: Difference between revisions
→{{header|COBOL}}: added params
No edit summary |
imported>Acediast (→{{header|COBOL}}: added params) |
||
Line 238:
(. 1 (equals 2)) ; alternative style</syntaxhighlight>
=={{header|COBOL}}==
COBOL added object methods in 2002. It has two ways to invoke a method: the <code>INVOKE</code> statement and inline method invocation.
<syntaxhighlight lang="cobol"> *> INVOKE statements.
INVOKE
USING BY REFERENCE some-parameter
INVOKE foo-instance "anotherMethod" RETURNING bar *> Instance object▼
RETURNING foo
*> Inline method invocation▼
USING BY REFERENCE some-parameter
MOVE FooClass::"someMethod" TO bar *> Factory object▼
RETURNING foo
MOVE foo-instance::"anotherMethod" TO bar *> Instance object</syntaxhighlight>▼
▲ *> Inline method invocation.
To call factory methods of objects of an unknown type (such as when you may have a subclass of the class wanted), it is necessary to get a reference to the class's factory object by calling the <code>"FactoryObject"</code> method.▼
MOVE my-class::"some-method"(some-parameter) TO foo
<syntaxhighlight lang="cobol">INVOKE foo-instance "FactoryObject" RETURNING foo-factory▼
*> foo-factory can be treated like a normal object reference.▼
INVOKE foo-factory "someMethod"</syntaxhighlight>▼
MOVE my-instance::"another-method"(some-parameter) TO foo
▲To call factory methods of objects of an unknown type (such as when you may have a subclass of the class wanted), it is necessary to get a reference to the class's factory object by calling the <code>"FactoryObject"</code> method.
▲ *> foo-factory can be treated like a normal object reference.
▲ INVOKE foo-factory "someMethod"</syntaxhighlight>
=={{header|CoffeeScript}}==
|