PDF de programación - Programación Orientada-a-Objetos en C++/OOP - Un enfoque práctico

Imágen de pdf Programación Orientada-a-Objetos en C++/OOP - Un enfoque práctico

Programación Orientada-a-Objetos en C++/OOP - Un enfoque prácticográfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 11 de Marzo del 2018)
1.995 visualizaciones desde el 11 de Marzo del 2018
872,5 KB
291 paginas
Creado hace 21a (18/08/2002)
C++/OOP

UN ENFOQUE PRÁCTICO

RICARDO DEVIS BOTELLA



C++/OOP: UN ENFOQUE PRÁCTICO

Página 1/297


A Consol



C++/OOP: UN ENFOQUE PRÁCTICO

Página 2/297



1

INTRODUCCIÓN




Es costumbre que las primeras líneas de un texto procuren, de alguna
manera, al lector una suerte de explicación del talante y ánimo del autor al
escribir la obra que tiene ante sí. Bien: he aquí un enésimo libro sobre C++
y -¿cómo no?- sobre Programación Orientada a Objetos. De acuerdo,
pensará el lector, pero ¿por qué éste y no otro?; o mejor, ¿qué tiene de
especial el presente texto? Y la respuesta es... ¡una intención eminentemente
didáctica! Lo que se pretende es introducir al lector en los esquemas básicos
de la programación orientada-a-objetos -que en adelante llamaremos OOP-
a través del uso de un lenguaje de amplia aceptación industrial, cual es
C++. La aproximación será, sobre todo, práctica: procuraré no perderme en
la maraña de siglas y conceptos que pueblan esta metodología y que
frecuentemente desaniman al principiante, de forma que, tras el inevitable
discurso teórico, siempre se buscará la aplicación concreta de lo expuesto
mediante código en C++. Se trata, pues, de una introducción al lenguaje
C++, pero, atención, utilizando de forma inseparable las técnicas y
conceptos de OOP. El texto también quiere ser, por fin, ameno y, en lo
posible, divertido: la tradición norteamericana de obras en las que el rigor
no está reñido con un cierto humor, en ocasiones salvaje, será aquí
observada con cierta complacencia. El tono será, pues, desenfadado pero
exacto: a veces elemental, a veces no tanto.



C++/OOP: UN ENFOQUE PRÁCTICO

Página 3/297


¿A QUIÉN VA DIRIGIDO ESTE LIBRO?

No debemos engañarnos: las técnicas de OOP (y por tanto de C++, al que
ya desde ahora deberemos acostumbrarnos a considerar como bien distinto
de C) son difíciles de asimilar. Insisto: no sólo nos encontramos ante un
área compleja, sino prolija, con abundancia de estándares y sumida en un
continuo cambio evolutivo. Las experiencias en U.S.A. indican que los
estudiantes tardan de seis a nueve meses (si no más) en asimilar
verdaderamente y poner en práctica de forma efectiva los conceptos,
técnicas y metodologías aprendidas. Así que debo suponer que el lector
tendrá conocimientos de algún lenguaje estructurado, como Fortran, Pascal,
C, etc. Dado que pretendemos trabajar en C++ y que este lenguaje
comparte muchas de las bases de C, sería deseable que el lector conociera al
menos las bases del lenguaje C, aunque lo ideal sería tener alguna
experiencia en ANSI C. De cualquier forma existe una gran profusión de
textos didácticos sobre C y ANSI C, por lo que se obviarán las explicaciones
sobre las construcciones en tales lenguajes.


¿QUÉ MATERIAL SE NECESITA?

Debo insistir en un tópico: sólo programando se aprende a programar. Y
esto es aún más cierto, si cabe, en C++. El lector deberá contar con un
compilador que
le permita chequear el código escrito: muchos
programadores de C se quedarían asombrados al ver la larguísima letanía de
errores y warnings que aparecerían al compilar como C++ su código C. La
creciente complejidad de las implementaciones C++ exige cada vez más
requerimientos hardware. El lector necesitará, pues, de un compilador que
soporte, preferiblemente, la versión 3.0 del AT&T C++, a la vez que
máquina suficiente para soportarlo, junto con las pertinentes librerías de
clases, como más adelante veremos.


¿QUÉ OBJETIVO SE PERSIGUE?

Sorprende que en la iniciación a cualquiera de los tópicos de OOP el
principiante siempre se encuentre con introducciones, preámbulos e incluso
introducciones de
introducciones. Bien, esto es desafortunadamente
irremediable: es necesario cambiar muchas cosas (entre ellas la "forma de
pensar" del programador) para poder aplicar eficientemente uno o dos
conceptos clave. Dado que se supone, sobre todo en C++ y Object Pascal,
que el
interesado posee conocimientos previos de programación
estructurada, buena parte del tiempo se emplea repitiendo: ¡olvídese de
cómo lo estaba haciendo: piense en objetos! Esto es exactamente, pues, lo
que se pretende en este libro: sumerger al lector en un nuevo lenguaje
(C++) pero siempre desde el punto de vista de la OOP, lo que ayudaría a
que profundizara más tarde en los tópicos introducidos mediante el uso de
algunos de tantos excelentes textos sobre el tema. Se pretende, por tanto,



C++/OOP: UN ENFOQUE PRÁCTICO

Página 4/297


guiar al principiante entre el oscurantismo y la verdadera complejidad de un
nuevo lenguaje y un novedoso (sólo para él, por supuesto) paradigma: la
Programación Orientada-a-Objetos. Piénsese que un no muy extenso detalle
sobre, por ejemplo, la característica de templates (plantillas) de C++ ocupa
la mayor parte de un magnífico texto de Robert Murray sobre el lenguaje. Mi
objetivo es modesto: tras el último capítulo del
libro (o quizás
afortunadamente antes) el lector debería ser capaz de desarrollar programas
relativamente simples en C++ que funcionaran bajo Microsoft Windows 3.1,
OSF/Motif, OS/2 2.1, MS Windows NT y Mac utilizando librerías comerciales
de clases (como, por ejemplo, Tools.h++, Codebase++) y entornos de
aplicación (como ObjectWindows ó C++/Views).


BIBLIOGRAFÍA DISPONIBLE SOBRE C++

Lamentablemente existen contados libros originales en castellano sobre C++
y, por lo que yo conozco, actualmente se reducen a la introducción
elemental al tema escrita por Francisco Javier Ceballos ("Introducción a C++
y a la Programación Orientada al Objeto"), referida básicamente a la versión
1.2 de C++ (con destellos de la versión 2.0), lo cual, teniendo en cuenta
que actualmente se trabaja en base al cfront 3.0 de AT&T, la convierte en un
tanto desfasada; y al buen texto "Programación en C++", de los hermanos
Enrique y José Hernández Orallo, ajustado a AT&T 3.0 e incorporando
"plantillas" y manejo de excepciones. Naturalmente no cuento aquí con los
típicos manuales de compiladores del tipo "Cómo manejar Borland C++ 4.0
en 1000 días", por razones obvias, así como tampoco con las traducciones
de las obras inglesas que, a poco, se irán introduciendo en el mercado. Los
manuales de la inmensa mayoría de los compiladores comerciales de C++ y
el grueso de la bibliografía están en inglés, y en U.S.A. se está produciendo
un verdadero "boom" editorial con la OOP que, a poco, veremos en España.
Como, insisto, el tema es difícil, pospondré la relación de material
bibliográfico hasta el artículo final, en el que además reseñaré brevemente
tanto los libros como los compiladores, librerías de clases y entornos de
aplicación más interesantes.




C++/OOP: UN ENFOQUE PRÁCTICO

Página 5/297


EL PROBLEMA DE LAS VERSIONES

Esta cuestión es indicativa de lo que en OOP es tónica general: la falta de
estandarización. Frecuentemente oiremos de las versiones 1.2, 2.0, 2.1 y 3.0
de C++. Existe, por otro lado, un comité ANSI dedicado a la estandarización
del lenguaje y que no entiende de tales numeraciones. ¿Qué ocurre? Bueno,
como C++ fue creado por el Dr. Bjarne Stroustrup, de los laboratorios
AT&T Bell, y éstos siempre se han mantenido en la vanguardia del lenguaje,
los compiladores comerciales de otras casas se han basado en la numeración
de AT&T. El comité ANSI X3J16, creado para la estandarización de C++,
admitió en su día, por otro lado, el texto "Manual de Referencia C++
Anotado" (que en adelante denominaremos ARM, como es práctica común
en los textos americanos) del Dr. Stroustrup y Margaret Ellis como documen-
to base del lenguaje, por lo que en puridad no cabe hablar de versiones del
lenguaje. No hay que olvidar, no obstante, que el nombrado comité ANSI ni
siquiera posee la cualificación de internacional: a pesar del interés de sus
miembros, todavía está circunscrito al ámbito nacional estadounidense. El
mercado, por otra parte, sigue básicamente la numeración de AT&T, criterio
que por facilidad para distinguir entre distintas características del lenguaje yo
también adoptaré en lo que sigue. Cabe destacar, al fin, que periódicamente
el comité ANSI X3J16 publica un borrador del estado actual del estándar del
lenguaje, y que se puede conseguir directamente de X3. Este borrador, que
es una suerte de ARM ampliado y consensuado, está afortunadamente
constituyéndose en fuente y modelo de los compiladores comerciales (como
ocurre, por ejemplo, con Borland C++ 4.0).


ALGUNAS NOTAS SOBRE SIGLAS

Intimida abrir cualquier revista técnica sobre OOP por la cantidad de siglas y
jerga incomprensible que aparece en cada página. Encontramos con
demasiada facilidad claves como OBCS, HSC, ODS, EER, etc. de difícil
traducción. ¿Qué ocurre? ¿Vive la comunidad OOP en un mundo aparte?
Bien, la verdad es que sí. No existen técnicas estándares ni en análisis ni en
diseño, por
investigadores y equipos privados desarrollan
continuamente técnicas propias, frecuentemente sin ningún nexo común;
junto con éstas, naturalmente, desarrollan también sus propias siglas y
terminologías. En general podemos afirmar que O representa Objeto, OO
equivale a Orientado-a-Objetos, A vale por Análisis y D por Diseño, R
significa Requerimientos, L representa Lenguaje y C suele equivaler a Clase.
De esta forma OOAR
  • Links de descarga
http://lwp-l.com/pdf9435

Comentarios de: Programación Orientada-a-Objetos en C++/OOP - Un enfoque práctico (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad