top of page

Introducción

La Programación Orientada a Objetos (POO) es una técnica o estilo de programación que utiliza "objetos" como bloque esencial de construcción, siendo los objetos tipos de datos abstractos, es decir, un tipo de dato definido por el programador junto con un grupo de operaciones que se pueden realizar sobre los objetos.

 

La teoría presentada en esta obra puede ser verificada en cualquiera de los compiladores de lenguaje C++ creados por los diferentes desarrolladores de software: AT&T, GNU, Borland, Microsoft, Zortech, Symantec, IBM, HP, Siemens, etc. Por esto se han omitido las bondades de cada compilador y de las diferentes versiones de cada uno de ellos. Sin embargo, los compiladores de lenguaje C++ más utilizados, en el medio son: Dev-C++, C++Builder, Borland C++, MS Visual C++ de Visual Studio,  GNU gcc/c++ (versión MinGW para Windows) y GNU gcc/g++ (versión Linux).

 

Los capítulos de esta obra están distribuidos de la siguiente manera:

 

El primer capítulo, INTRODUCCIÓN A LOS LENGUAJES ORIENTADOS A OBJETOS, habla sobre la evolución, características, ventajas, desventajas, tipos y mecanismos básicos de un lenguaje orientado a objetos. En este capítulo se incluye una visión histórica de los lenguajes orientados a objetos y del lenguaje C++; así como de los tipos de compiladores, el soporte de la Programación Orientada a Objetos, mejoras del lenguaje C++ respecto al lenguaje C y creación de programas; todo esto en lenguaje C++.

 

El segundo capítulo, CLASES, contiene las definiciones básicas y necesarias del lenguaje C++ para el estudio de la técnica de programación orientada a objetos, como la definición de clase, y el concepto de referencias a objetos.

 

El tercer capítulo, CONSTRUCTORES Y DESTRUCTORES, contiene la definición de estas funciones útiles para crear, inicializar y destruir los tipos de datos llamados "clases" cuyas variables son los "objetos", de ahí su importancia en este tipo de programación.

 

El cuarto capítulo, AMIGAS, MIEMBROS static y PUNTEROS A MIEMBROS, contiene las tres formas de acceder a los datos miembro de una clase mediante otras clase y funciones miembro que no pertenecen a aquella clase. También, se definen miembros static de una clase, punteros a miembros de una clase, y arreglos de objetos.

 

El quinto capítulo, SOBRECARGA, contiene la definición y aplicación de la sobrecarga de una función y la sobrecarga de los operadores unarios y binarios más usados, así como la conversión de tipo de estos operadores.

 

El sexto capítulo, CLASES DERIVADAS, contiene la definición y utilidad de las clases derivadas, también la definición de herencia simple y múltiple como una aplicación de las clases derivadas. Además, se definen las clases y funciones virtuales que tienen su mayor aplicación en el polimorfismo, siendo la característica del polimorfismo utilizar clases derivadas y funciones virtuales para llamar con una sola sentencia a muchas funciones de objetos heredados diferentes.

 

El séptimo capítulo, OPERACIONES DE E/S DE ARCHIVOS, contiene una introducción general de E/S en base a los flujos asociados de las clases stream de lenguaje C++. También, se determina la E/S con formato usando las funciones miembro de la clase ios y usando las funciones de manejo de formato de entrada y salida. Por último, se estudian las operaciones de E/S con archivos de texto y binarios.

 

El octavo capítulo, TIPOS GENÉRICOS, estudia el "tipo genérico" o "tipo parametrizado" que permite construir una familia de funciones o clases relacionadas que pueden contener cualquier tipo de dato, de modo que este tipo parametrizado puede crear no una única función o clase, sino una especificación de una familia de funciones o clases, permitiendo al usuario elegir el tipo de dato que necesite en cada momento. Esta parametrización puede implementarse de dos formas: utilizando una plantilla (patrón o modelo template) o el preprocesador #define mediante "macros".

 

El noveno capítulo, EXCEPCIONES, contiene la definición de excepciones, lanzamiento y captura de excepciones, manejador de excepciones y la cláusula throw, soluciones del tratamiento de excepciones, excepciones con objetos, y excepciones estándar del lenguaje C++.

 

Además, esta obra contiene los anexos: DESARROLLO DE UN PROGRAMA, ÍNDICE DE PROGRAMAS E IMPRIMIR DESDE EL LENGUAJE C++ EN EL SISTEMA OPERATIVO WINDOWS. Por último, se tiene las REFERENCIAS BIBLIOGRÁFICAS.

 

Como complemento, en la dirección Web del autor de esta obra, http://eagranizo.wix.com/librospublicados, se presentan programas demostrativos que refuerzan lo presentado a nivel teórico. Dichos programas pueden ser ejecutados en cualquier compilador en base al estándar ANSI de lenguaje C++ normalizado por ISO en 1998. Además, se presenta la instalación del compilador de lenguaje C++ y la forma de realizar una aplicación en Windows.

 

Los programas demostrativos se presentan en el texto del libro dentro de un mismo archivo fuente, para una mejor explicación de la teoría, los mismos programas en la página Web del autor se presentan en diferentes archivos; estructurados conforme se explica en el Anexo A "Desarrollo de un Programa". Además, cabe indicar que en el código de los programas no se tildaron las palabras, porque al imprimir los códigos fuentes y los resultados de la ejecución de los mismos, muestran caracteres basura.

 

Además, muchos de los ejercicios propuestos y soluciones surgieron como necesidad de incentivar el aprendizaje del estudiante. Por otra parte, varios ejercicios se fundamentan en ejercicios propuestos de los autores: CEBALLOS,  SCHILDT, ECKEL y DEITEL; los cuales fueron adaptados al enfoque de este libro. Las ideas y conceptos presentes en la segunda edición de este libro reflejan la visión y experiencia del autor, los cuales son complementados por un amplio estudio de la literatura existente, por ejemplo: los libros presentados en las referencias bibliográficas de este libro.

bottom of page