Close Page

VOL Readme

This library is designed to help your productivity by encouraging re-use
of code. In my opinion (and I am not interested in academic
discussions as to whether it is, or is not object oriented) this offers
you the following features:

Encapsulation - hiding things from the programmer using the object
things that are of no relevance. For example, if the object needs to
deal with "file does not exist therefore create a new file" it should
just get on and deal with it. As a programmer using the object I don't
care about a flag called 'NewFile' so it should be hidden from me.

Polymorphism - a great word to throw around at cocktail parties! This
means that I can make a blueprint for an object, called a class, and
then use that blueprint as many times as I like, called instances. Take
a file type for example. I have a class called clSpreadsheet with
methods (functions) writeToCell and readFromCell. I can make an
instance called resultSS and reportSS. I can now write all my several
hundred results to the object resultSS using the resultSS.writeToCell
method while testing. Once testing is complete I read the cells back
using readFromCell.resultSS, compute averages and write using
reportSS.writeToCell which will be printed and sent off with the tested
units. I have two objects, with their own data but based on the same
blueprint. Cool eh!

Inheritance? Well I am not sure about this - I'd have to think about
how it may work. If someone is genuinely interested let me know and I
will consider it further. For reference, I understand inheritance to be
allowing for 'child' classes to inherit the methods and properties of
their 'parents' but also to be able to overwrite, add or delete to make
the differences.

Overloading - this is a natural feature of VEE - it deals with data very
naturally. Ask most programs to deal with arrays or integers or test
with the same device and you have a nightmare on your hands. VEE will
quite happily parse 6 * "G" into GGGGGG or 6 * (Array) to multiply all
elements of the array by 6 (with no for-next loop in sight!).