EDMA: Entorno de Desarrollo Modular y Abierto
Object Oriented and Componentware Framework

Copyright (C) 1998, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
           by David Martínez Oliveira

See file COPYING and COPYING.LESSER for copying conditions
===========================================================================

Abstract Classes Test
---------------------
This example demonstrates the use of abstract classes in GNU/EDMA. Three classes are used:

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

2. Compile test 
     make -f test.mk

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

* Briefing
-----------------------
GNU/EDMA allows the instantiation of abstract classes because the system supports dynamic inheritance and therefore supports later class definition. Instances of abstract classes are override by default methods showing a warning message in the console.

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).
