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

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

See the end of the file for license 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).

.

EDMA is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

EDMA is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with EDMA.  If not, see <http://www.gnu.org/licenses/>.

