Exception Handling Tutorial (UNIX) | Using Objects in Programs |
Requirements-based vocabulary is a feature unique to Micro Focus Object COBOL. Requirements-based vocabulary enables you to create new verbs and functions related to types of application you are working on. This tutorial demonstrates this new feature, using the bank account classes introduced in the Inheritance tutorial.
This tutorial consists of the following sessions:
Approximate time to complete: 10 minutes.
In this section you will look at the components of the Bank vocabulary example. Follow the steps below:
To look at the Bank vocabulary example:
Account.if and saccount.if are copyfiles used by bank2. They are the class interface files which define new vocabulary for use with the Account and SavingsAccount classes. Because the methods of Account are inherited by all types of account, with no interface changes, the vocabulary defined in account.if applies to all the account classes. The saccount.if file defines extra vocabulary appropriate to SavingsAccount (and HighRateAccount which is a subclass of SavingsAccount).
copy account.if
and press the Alt-F2=library key to view account.if.
The Class-Id header at the start of account.if defines it as an external class. The Compiler does not generate any code for external classes.
This has the same Method-Id, Linkage Section and Procedure Division header as the "openAccount" method in account.cbl. However, there are no executable statements in the procedure division. Instead, there is a syntax definition of a new verb, Create.
create
verb.
Below the procedure division
header, is
the invoked as
phrase. The words in brackets [ ]
are noise-words, included for readability. You don't have to include
them when you use the create
verb.
Words inside angle brackets <> are the parameters to the routine,
with the exception of <self>
. <self>
is the object reference to the object which receives the message.
Every parameter in the definition of the verb is in the procedure
division
header using
and returning
clauses
The syntax for defining new verbs and functions is covered in the chapter Requirements-based Vocabulary.
This is the end of the first session. In the next session you will look at some code which uses the new syntax.
This session animates some source code which uses requirements-based vocabulary.
To animate the vocabulary example source code
This compiles bank2.cbl and the account classes.
anim bank2
Animator starts with the statement below tag B002 highlighted ready for execution.
The message to open a new CheckAccount is sent by the new verb
create
, which is defined in account.if.
Execution switches to the "openAccount" method of Account (CheckAccount
inherits the "openAccount" method from Account).
As you step through the code, you can see how the same verbs can be used for SavingsAccounts and CheckAccounts.
if balance(asAccount)...
).
This conditional statement uses the balance
function. This is an example of a function definition. You can use
it in the same sorts of ways as you can use an intrinsic COBOL function;
for example in a conditional statement or as part of a compute
statement.
This ends this tutorial on Requirements-based Vocabulary. You can study account.if and saccount.if to see how you can define vocabulary for any objects you create.
Copyright © 1999 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names
used herein are protected by international law.
Exception Handling Tutorial (UNIX) | Using Objects in Programs |