Abstract Classes Test
---------------------

This example desmostrates the use of abstract classes in GNU/EDMA. Three classes are defined:

ABSTRACT1: A pure abstract class without implementation. Only interface is provided
ABSTRACT2: A mixed abstract class with implementation for only some methods
REALIZATION: A subclass providing implementation for ABSTRACT1

To run this example:

1. Classes ABSTRACT1, ABSTRACT2 and REALIZATION must be installed
     make install (as root)
     ines_class_register ABSTRACT1. ines
     ines_class_register ABSTRACT2.ines
     ines_class_register REALIZATION.ines

2. Compile test 
     make -f test.mk

3. Run example. Check source code to follow execution traces

* Briefing

GNU/EDMA allows the instantiation of abstract classes since the system supports dynamic inheritance, allowing later completion of the class. Instances of abstract classes are overrided by default methods that shows a warnning in the console which will be shown if abstract methods were not overriden.

Additionally, GNU/EDMA allows virtual method override by main application functions so an abstract class can be instantiated and the main application may then provide code for the abstract methods (see source code for an example).