Lenguaje c++
Traducción (INACABADA) del libro Thinking in C++, Volumen 1
Bruce Eckel
March 20, 2008
Puede encontrar la versión actualizada de este libro e información adicional sobre el proyecto de traducción en http://arco.inf-cr.uclm.es/~david.villa/pensarC++.html
Pensar en C++ (Volumen 1) by Bruce Eckel Copyright © 2000 Bruce Eckel
2
Índice de contenido
1Introducción a los Objetos 1.1 1.2 1.3 1.4 1.5 El progreso de abstracción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cada objeto tiene una interfaz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La implementación oculta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reutilizar la implementación . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . Herencia: reutilización de interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 1.6 1.7 1.8 1.9 Relaciones es-un vs. es-como-un . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 31 32 34 34 35 37 38 41 41 42 43 43 44 46 47 48 48 48 49 49 50 50 51 51 52 52 52 53 53 53 53 53 3
Objetosintercambiables gracias al polimorfismo . . . . . . . . . . . . . . . . . . . . . . . . . . . Creación y destrucción de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gestión de excepciones: tratamiento de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . Análisis y diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9.1 Fase 0:Hacer un plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9.1.1 1.9.2 1.9.3 Declaración de objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fase 1: ¿Qué estamos haciendo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fase 2: ¿Cómo podemos construirlo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9.3.1 1.9.3.2 Lascinco etapas del diseño de objetos . . . . . . . . . . . . . . . . . . . . . . Directrices para desarrollo de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9.4 1.9.5 1.9.6 1.9.7
Fase 3: Construir el núcleo
Fase 4: Iterar los casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fase 5: Evolución. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Los planes valen la pena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.10 Programación Extrema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.10.1 Escriba primero las pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.10.2Programación en parejas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11 Porqué triunfa C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11.1 Un C mejor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11.2 Usted ya está en la curva de aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . .1.11.3 Eficiencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11.4 Los sistemas son más fáciles de expresar y entender . . . . . . . . . . . . . . . . . . . . 1.11.5 Aprovechamiento máximo con librerías . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11.6 Reutilización de código fuente con plantillas . . . . . . . . . . . . . . . . . . . . . . . .1.11.7 Manejo de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11.8 Programar a lo grande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Índice de contenido 1.12 Estrategias de transición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.12.1 Directrices . . . . . . . . . . . . . . . . . . . . . . ....
Regístrate para leer el documento completo.