SlideShare una empresa de Scribd logo
1 de 95
Descargar para leer sin conexión
. CONSULIORES EDITORIALES
AREA DE INFORMATICA Y COMPUIACION
Antonio Vaquero Sanchez
Catednitico de Lenguajes y Sistemas Informaticcs
Escuela Superior de Informatica
Universidad Complutense de Madrid
ESPANA

Gerardo Quiroz Vieyra
Ingeniero en Cornunicaciones y Electr6nica
por la ESIME dellnstituto Politecnico Nacional
Profesor de la Universidad Autonorna Metropolitana
Unidad Xochimilco
MEXICO
Willy Vega Galvez
Universidad Nacional de Ingenierta
PERU

PROGRAMACION
ORIENT ADA A OBJETOS
Luis Joyanes Aguilar
Director del Departamento de
Lenguajes y Sistemas Informaticos e Ingenierfa de Software
F acultad de Informatica
Universidad Pontificia de Salamanca Campus Madrid

McGraw-Hill
MADRID· BUENOS AIRES' CARACAS· GUATEMALA· LlSBOA· MEXICO
NUEVA YORK· PANAMA' SAN JUAN· SANTAFE DE BOGOTA· SANTIAGO· SAO PAULO
AUCKLAND· HAMBURGO· LONDRES· MILAN· MONTREAL. NUEVA DELHI· PARIS
SAN FRANCISCO· SIDNEY· SINGAPUR • ST LOUIS· TOKIO. TORONTO
._ ...
!,.

,--..

~-',.-... _
,

..•" - ~~
..

i,..I,~f.""~,,~'" .. ~- ;,.,;!
~

CONTENIDO
Prologo

XVll

Parte I
EL MUNDO DE LA ORIENTA CION A OBJEfOS:
CONCEPTOS, RELACIONES, MODELADO Y LENGUAJES
DE PROGRAMACION
Capitulo L
] 1.

12
13
PROGRAMACION ORlENIADA A OBJEIOS
No esta permitida La reproducci6n total 0 parcial de este libro, ,ni su tr~tamiento
inforrnatico ni la transmisi6n de ninguna forma 0 por cualquier medic, ya sea
electr6nico: mecanico, por fotocopia, por registro u otros metodos, sin el permiso
previo y por escrito de los titulares del Copyright

1.4
1 5.

DERECHOS RESERVADOS ©1996, respecto ala primera edici6n en espaiiol, por
McGRAW-HILL;iNTERAMERICANA
DE ESPA'N"A, S A

16.
17

Edificio Valrealty, 1 a planta
Basauri, 17
28023 Aravaca (Madrid)
ISBN: 84-481-0590-7
Deposito legal: M 30121-1996
Editor: Jose Dominguez Alconchel
Disefio de cubierta: Juan Garcia
Compuesto e impreso en Fernandez Ciudad, S L
IMPRESO

EN ESPANA - PRINTED

IN SPAIN

18
1. 9.

EI desarrollo de software

La compJejidad inherente al software
1 lILa
complejidad del dominic del problema .
,,
1.1.2. La dificultad de gestionar el proceso de desarrollo
1 1 3 La flexibilidad a traves del software
La crisis del software ... ,. . .
Factores en la calidad del software.
131
Razones fundamentales que estan influyendo en la importancia de
la POO
_
'"
. ,.
.
Programaci6n y abstraccion
EI papel (el rol) de la abstracci6n
1.5..1. La abstracci6n como proceso natural mental
1. 5. 2 Historia de la abstraccion del software
153
Procedimientos
1.5.4. M6dulos",..
1 5 5, Tipos abstractos de datos
1.5 6 Objetos
Un nuevo paradigma de programacion
Orientaci6n a objetos
1 7 1. Abstraccion .
1.7.2. Encapsulacion
1 73
Modularidad
1'74. Jerarquia..
1.75 Polimorfismo
176
Otras propiedades
Reutilizaci6n de software
, .. ,
Lenguajes de programacion orientados a objetos
1 9 1 Clasificaci6n de los lenguajes orientados a objetos

3
4
4
4
5

5
7
9
9
10
10
11
12
13

J3
14
l5
16
17
18
18
18
19
20
21
22
23

v
Contenido

vi

vii

Contenido

1 10 Desarrollo tradicional frente a orientad'(TaO)bjetos
1.11 Beneficios de las tecnologfas de objetos
Resumen

Capitulo 2,

Modularidad: tipos abstractos de datos

Moduladdad
21 I La estructura de un modulo,
2.12
Reglas de modularizacion
Diseno de modules
22
2,21
Acoplamiento de modules
2.22
Cohesion de modules .
2,3. Tipos de datos
.'
.,
Abstraccion en Jenguajes de programacion
24
24 1 Abstracciones de control
2.4 2 Abstraccion de datos
'
""
,
2,5 Tipos abstractos de. datos
2,5 1 Ventajas de los tipos abstractos de datos,
2.52
Implementacion de los TAD .. , '
Tipos abstractcs de datos en Turbo Pascal ' ... .26
2.6 1 Aplicacion del tipo abstracto de dato Pila
Tipos abstractos de datos en Modula-2 '
27
27 1. Modules
272
Modules locales
2 7 3 Tipos opacos
274.
Tipos transparentes .. ' . ..' . . .. .. .. .....
.,
"
27.5
Una version del tipo abstracto de dato Pila con datos opacos
2.76
Otra aplicacioii del TAD Pila
28. Tipos abstractos de datos en Ada
28,1
Tipos privados
2.82
Tipos privados limitados ,
Tipos abstractos de datos en C ..
..
..
.' . . .
29
2.9 1. Un ejemplo de Ull tipo abstracto de datos en C
..
210 Tipos abstractos de datos en c++
2,101 Definicion de una clase Pila en c++
Resumen
Ejercicios

21

,
C apltt uI0 3' Conceptos fundamentales de programacion orientada a objetos
31
32

33

34

Programacion estructurada "
:.
"
'.
3 1.1. Desventajas de la programacion estructmada
l.Que es la programacion orientada a objetos?
321
EI objeto
3 22, Ejemplos de objetos .'
3.2,3. Metodos y mensajes
Clases ,
.'
3 3 1. Implementacion de clases en lenguajes .
3,,32 Sintaxis
Un mundo de objetos

25
27
29

30
31
31
32
35
35
35
36
38
38
39

40
42
42
43
45
46
46
47
47
48
49
51
53
55
56
57
58
60

61
64
65

66
67
69
69
70
71
73
75
75
76

77

3.4.1. Definicion de objetos
342
Identificacion de objetos
34.3
Duracion de los objetos ..
14.4. Objetos frente aclases Representacion
3 4 5 Datos internos
3.4.6 Ocultacion de datos
3..5 Herencia
3 5 1 Sintaxis
3.52. Tipos de herencia ..
36. Comunicaciones entre objetos: los mensajes .
3 6 1 Activacion de objetos
16.2. Mensajes
16,3. Paso de mensajes
37
Estructura inter na de un objeto .
17.1. Atributos
3.7,2. Metodos
Clases .,
38
3,8.1. Una comparacion con tablas de datos
3.9 Herencia y tipos .
391
Herencia simple iherencia jel'ul'quica)
19,2. Herencia multiple therencia ell malla)
3.9 3 Clases abstr aetas
310 Anulacion/Sustitucion
3 11. Sobrecarga .,
312 Ligadura dinamica
3 121 Funciones 0 metodos virtuales
3.122 Polimorfismo
313 Objetos compuestos.
3 13 1 Un ejemplo de objetos compuestos.
313.2 Niveles de proiundidad
3.14 Reutilizaci6n con orientaci6n a objetos .
3 14.1 Objetos y reutilizacion
315. Polimorfismo
Resumen

Capitulo 4.. Lenguajes de programacion
4.]

4.2.

43.

78
78
grafica (Notacion

de Ege)

orientados a objetos ..

Evoluci6n de los LPOOS
4 11 Estado actual de los Jenguajes orientados a objetos en la decada de
los noventa
Clasificacion de lenguajes orientados a objetos ....
421
Taxonomia de lenguajes orientados a objetos
422
Caractensticas de los Ienguajes orientados a objetos
4.2.3 PUlOS frente a hibridos ,
4 2 4 Tipificacion estatica frente a dinamica
42.5
Ligadura estatica frente a dinamica
4.2.6. Revision de lenguajes orientados a objetos
Ada
'
43 1. Abstracci6n de datos en Ada.
4.3.2 Genericidad en Ada.
4,33
Soporte de herencia en Ada-83
4.3 4. Soporte Ada para orientaci6n a objetos

80
80
83
84
84

86
87
89

90
90
92

92
93
93
94
95
96

98
98

100
]01

102
104
104
105

105
107
107

109

110
110
111

113
114

117
118
119
120

121
122
124
125
126
126
127
128
128
viii

Contenido

Contenido

4 4 1 La biblioteca de clases Eiffel
4.4.2. EI entorno de programacion Eiffel .
4.4.3. EI Jenguaje Eiffel
4 5. Small talk .
. . .. . .
451 El lenguaje Smalltalk
.....
....
4.5.2 La jerarquia de clases Smalltalk .
4.6 OtTOS lenguajes de programacion orientados a objetos .
Resumen
Ejercicios

129
130
130
131
132
133
134
134
135
136

Capitulo 5.

137

44

Eiffel

Modelado de objetos: relaciones

51

Relaciones entre clases.
.
Relaci6n de generalizacionjespecializacion
(is-ales-un)
5.2.1 Ierarqufas de generalizaci6njespecializaci6n
53
Relaci6n de agregacion (has-altiene-un) ...
5 3.1 Agregacion frente a generalizacion
54. Relacion de asociaci6n
5.41. OtIOS ejemplos de cardinalidad ..
5.5 Herencia: jerarquia de c1ases
5.5.1 Herencia simple .
5 52 Herencia multiple .
5.521
Ventajas de la herencia multiple.
5 5 2 2 Inconvenientes de la herencia multiple.
5 5 2 3 Disefio de clases con herencia multiple.
56 Herencia repetida
Resumen

52

Bjercicios

138

6.7.

Disefios practices de clases
6.71
Clases Reloj y Presentar
68 Tecnicasde creaci6n e inicializaci6n de objetos .
6.8.1. Objetos dinamicos new y delete .
69. Inicializacion y limpieza de objetos .
69 1 Uso de una clase .
610 Reglas practicas para construccion de clases
6101 Funciones miembro .
6.102 Una aplicaci6n sencilla
6.10.3. Control de acceso a los miembros de una clase
6.10.4. Creaci6n, inicializacion y destrucci6n de objetos
6 1] El puntero this
Resumen
Ejercicios

185
188
190
192
193
201
204
207
208
213
216
221
222
223

Clases abstractas y herencia

229

138

141
143

145
146

149
150
151

152
155
155
156
157
160
160

Parte II

ix

Capitulo 7.

Abstraccion de la generalizacion y especializacion
Clases abstractas
73 Herencia en C++: clases derivadas
7.3. L Sin taxis de la herencia simple
73.2. Sintaxis de la herencia multiple
7.33. Ambiguedad y resoluci6n de ambito
7.4. Herencia repetida y clases base virtuales
7.5 Funciones virtuales puras
7.51. Otro ejemplo de clase abstracta
76 Diseno de clases abstractas .
77
Una aplicacion practica: jerarqufa de figuras
7 7. 1. La clase F iqur a
Resumen
Ejercicios
71
7.2

de clases

230
232
233
233
237
240
242
243
247
247
251
251
252
252

Capitulo 8.. Polimorfismo

255

81

Ligadura
8.1.1. Ligadura en C++
82 Funciones virtuales ..
..
82.1 Ligadura dinamica mediante funcionesvirtuales .
8.3. Polimorfismo ..
83 1 EI polimorfismo sin ligaduradinamica
8.3 2 El polirnorfismo con ligadura dinamica
84 Uso del polirnorfismo .
84.1 Uso del polirnorfiosmo C++ ..
en
8 5 Ligadura dinamica frente a ligadura estatica
8.6. Ventajasdel polimorfismo
Resumen
Ejercicios

256
256
257
258
260

Capitulo 9.. Genericidad: plantillas (templates)

268

184

91

184

92

269
270

PROGRAMACION ORIENTADA A OBJEIOS CON C++
Capitulo 6.. Clases y objetos en C++

167

6. L Clases

168
169
170

62
63.

6.4
65
66

y objetos
Objetos
6.2.1 Identificaci6n de objetos
.
Clases
Creaci6n de clases .
Diagramas de clases y objetos .
Construcci6n de clases en c++
6 6 1 Declaracion de clases
6.6.2. Definicion de una clase .
6.63
Constructores y destructores
6. 64 Usal las clases .
665
Especificaci6njimplementaci6n
de clases
666
Compilaci6n separada de c1ases
6. 6. 7 Reutilizaci6n de clases .
6. 6 8 Estilos de declaracion de clases

171
172
173
176

177
179
180
181
181
183

Genericidad :
Conceptos fundamentales

de plantillas en C++

261

262
263
263
264
265
265
266
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar

Más contenido relacionado

Destacado (12)

Programacion orientada a objetos
Programacion orientada a objetos Programacion orientada a objetos
Programacion orientada a objetos
 
Talmud desenmascarado
Talmud desenmascaradoTalmud desenmascarado
Talmud desenmascarado
 
3-gotica
  3-gotica  3-gotica
3-gotica
 
Bleefeld bradley parabolas del talmud
Bleefeld bradley   parabolas del talmudBleefeld bradley   parabolas del talmud
Bleefeld bradley parabolas del talmud
 
Lenguajes de programacion.
Lenguajes de programacion.Lenguajes de programacion.
Lenguajes de programacion.
 
Lógica y programación orientada a objetos:Un enfoque basado en problemas
Lógica y programación orientada a objetos:Un enfoque basado en problemasLógica y programación orientada a objetos:Un enfoque basado en problemas
Lógica y programación orientada a objetos:Un enfoque basado en problemas
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
La sexualidad en los hebreos
La sexualidad en los hebreosLa sexualidad en los hebreos
La sexualidad en los hebreos
 
Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmos
 
El sexo anal
El sexo analEl sexo anal
El sexo anal
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Programación Orientada a Objeto y Java
Programación Orientada a Objeto y JavaProgramación Orientada a Objeto y Java
Programación Orientada a Objeto y Java
 

Similar a Programacion Orientada a Objetos Luis Joyanes Aguilar

Programacion orientada-a-objetos-luis-joyanes-aguilar
Programacion orientada-a-objetos-luis-joyanes-aguilarProgramacion orientada-a-objetos-luis-joyanes-aguilar
Programacion orientada-a-objetos-luis-joyanes-aguilarHector Garcia
 
2.- Manual 2020 Tecnologías de la Información (2334).pdf
2.- Manual 2020 Tecnologías de la Información (2334).pdf2.- Manual 2020 Tecnologías de la Información (2334).pdf
2.- Manual 2020 Tecnologías de la Información (2334).pdfALBERTHVELASQUEZ1
 
Arquitectura del computador.
Arquitectura del computador.Arquitectura del computador.
Arquitectura del computador.franbrito94
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programaciónMaritere Cruz
 
Programación del curso - Estructura de Datos I
Programación del curso - Estructura de Datos IProgramación del curso - Estructura de Datos I
Programación del curso - Estructura de Datos IYessenia I. Martínez M.
 
IEC330596-Sistemas Digitales II.pdf
IEC330596-Sistemas Digitales II.pdfIEC330596-Sistemas Digitales II.pdf
IEC330596-Sistemas Digitales II.pdfCarlosCarrascoMuoz1
 
Estructura datos ucc_jairo
Estructura datos ucc_jairoEstructura datos ucc_jairo
Estructura datos ucc_jairobalantaj123
 
Rc(reconocimiento del curso)RC clemencia alvarado)
Rc(reconocimiento del curso)RC clemencia alvarado)Rc(reconocimiento del curso)RC clemencia alvarado)
Rc(reconocimiento del curso)RC clemencia alvarado)clemealvarado19
 

Similar a Programacion Orientada a Objetos Luis Joyanes Aguilar (20)

Programacion orientada-a-objetos-luis-joyanes-aguilar
Programacion orientada-a-objetos-luis-joyanes-aguilarProgramacion orientada-a-objetos-luis-joyanes-aguilar
Programacion orientada-a-objetos-luis-joyanes-aguilar
 
Planes Estudio Prepa GV
Planes Estudio Prepa GVPlanes Estudio Prepa GV
Planes Estudio Prepa GV
 
trabajo1
trabajo1trabajo1
trabajo1
 
Programación II
Programación IIProgramación II
Programación II
 
Guia examen adsi
Guia examen adsiGuia examen adsi
Guia examen adsi
 
Modulo Grado11
Modulo Grado11Modulo Grado11
Modulo Grado11
 
2.- Manual 2020 Tecnologías de la Información (2334).pdf
2.- Manual 2020 Tecnologías de la Información (2334).pdf2.- Manual 2020 Tecnologías de la Información (2334).pdf
2.- Manual 2020 Tecnologías de la Información (2334).pdf
 
Rc rafael cardona.pptx
Rc rafael cardona.pptxRc rafael cardona.pptx
Rc rafael cardona.pptx
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Fundamentos programacion isc2020
Fundamentos programacion isc2020Fundamentos programacion isc2020
Fundamentos programacion isc2020
 
Programa informatica economia
Programa informatica economiaPrograma informatica economia
Programa informatica economia
 
Arquitectura del computador.
Arquitectura del computador.Arquitectura del computador.
Arquitectura del computador.
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Programación del curso - Estructura de Datos I
Programación del curso - Estructura de Datos IProgramación del curso - Estructura de Datos I
Programación del curso - Estructura de Datos I
 
vhdl
vhdlvhdl
vhdl
 
IEC330596-Sistemas Digitales II.pdf
IEC330596-Sistemas Digitales II.pdfIEC330596-Sistemas Digitales II.pdf
IEC330596-Sistemas Digitales II.pdf
 
Estructura datos ucc_jairo
Estructura datos ucc_jairoEstructura datos ucc_jairo
Estructura datos ucc_jairo
 
Diseño de materiales didácticos
Diseño de materiales didácticosDiseño de materiales didácticos
Diseño de materiales didácticos
 
Rc(reconocimiento del curso)RC clemencia alvarado)
Rc(reconocimiento del curso)RC clemencia alvarado)Rc(reconocimiento del curso)RC clemencia alvarado)
Rc(reconocimiento del curso)RC clemencia alvarado)
 
Carlp2011
Carlp2011Carlp2011
Carlp2011
 

Más de johnny herrera

Presentación de johnny herrera
Presentación de johnny herreraPresentación de johnny herrera
Presentación de johnny herrerajohnny herrera
 
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900johnny herrera
 
Desarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-parteDesarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-partejohnny herrera
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetosjohnny herrera
 
13 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-113 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-1johnny herrera
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .netjohnny herrera
 
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0johnny herrera
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetosjohnny herrera
 
Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 johnny herrera
 
Practicas visualbasic60
Practicas visualbasic60Practicas visualbasic60
Practicas visualbasic60johnny herrera
 
Matematica universitaria
Matematica universitariaMatematica universitaria
Matematica universitariajohnny herrera
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++johnny herrera
 

Más de johnny herrera (20)

Presentación de johnny herrera
Presentación de johnny herreraPresentación de johnny herrera
Presentación de johnny herrera
 
Tiristores
TiristoresTiristores
Tiristores
 
Programacion o.o.
Programacion o.o.Programacion o.o.
Programacion o.o.
 
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
 
Desarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-parteDesarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-parte
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos
 
13 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-113 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-1
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .net
 
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 Programacioncon Visual Basic 6
Programacioncon Visual Basic 6
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Tutorial de Visual
Tutorial de  VisualTutorial de  Visual
Tutorial de Visual
 
Practicas visualbasic60
Practicas visualbasic60Practicas visualbasic60
Practicas visualbasic60
 
Modulo Derivadas
Modulo DerivadasModulo Derivadas
Modulo Derivadas
 
Matematica 1 usb
Matematica 1 usbMatematica 1 usb
Matematica 1 usb
 
Matematica universitaria
Matematica universitariaMatematica universitaria
Matematica universitaria
 
Matematica1 usb
Matematica1 usbMatematica1 usb
Matematica1 usb
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++
 

Último

plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 

Último (20)

Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 

Programacion Orientada a Objetos Luis Joyanes Aguilar

  • 1. . CONSULIORES EDITORIALES AREA DE INFORMATICA Y COMPUIACION Antonio Vaquero Sanchez Catednitico de Lenguajes y Sistemas Informaticcs Escuela Superior de Informatica Universidad Complutense de Madrid ESPANA Gerardo Quiroz Vieyra Ingeniero en Cornunicaciones y Electr6nica por la ESIME dellnstituto Politecnico Nacional Profesor de la Universidad Autonorna Metropolitana Unidad Xochimilco MEXICO Willy Vega Galvez Universidad Nacional de Ingenierta PERU PROGRAMACION ORIENT ADA A OBJETOS Luis Joyanes Aguilar Director del Departamento de Lenguajes y Sistemas Informaticos e Ingenierfa de Software F acultad de Informatica Universidad Pontificia de Salamanca Campus Madrid McGraw-Hill MADRID· BUENOS AIRES' CARACAS· GUATEMALA· LlSBOA· MEXICO NUEVA YORK· PANAMA' SAN JUAN· SANTAFE DE BOGOTA· SANTIAGO· SAO PAULO AUCKLAND· HAMBURGO· LONDRES· MILAN· MONTREAL. NUEVA DELHI· PARIS SAN FRANCISCO· SIDNEY· SINGAPUR • ST LOUIS· TOKIO. TORONTO
  • 2. ._ ... !,. ,--.. ~-',.-... _ , ..•" - ~~ .. i,..I,~f.""~,,~'" .. ~- ;,.,;! ~ CONTENIDO Prologo XVll Parte I EL MUNDO DE LA ORIENTA CION A OBJEfOS: CONCEPTOS, RELACIONES, MODELADO Y LENGUAJES DE PROGRAMACION Capitulo L ] 1. 12 13 PROGRAMACION ORlENIADA A OBJEIOS No esta permitida La reproducci6n total 0 parcial de este libro, ,ni su tr~tamiento inforrnatico ni la transmisi6n de ninguna forma 0 por cualquier medic, ya sea electr6nico: mecanico, por fotocopia, por registro u otros metodos, sin el permiso previo y por escrito de los titulares del Copyright 1.4 1 5. DERECHOS RESERVADOS ©1996, respecto ala primera edici6n en espaiiol, por McGRAW-HILL;iNTERAMERICANA DE ESPA'N"A, S A 16. 17 Edificio Valrealty, 1 a planta Basauri, 17 28023 Aravaca (Madrid) ISBN: 84-481-0590-7 Deposito legal: M 30121-1996 Editor: Jose Dominguez Alconchel Disefio de cubierta: Juan Garcia Compuesto e impreso en Fernandez Ciudad, S L IMPRESO EN ESPANA - PRINTED IN SPAIN 18 1. 9. EI desarrollo de software La compJejidad inherente al software 1 lILa complejidad del dominic del problema . ,, 1.1.2. La dificultad de gestionar el proceso de desarrollo 1 1 3 La flexibilidad a traves del software La crisis del software ... ,. . . Factores en la calidad del software. 131 Razones fundamentales que estan influyendo en la importancia de la POO _ '" . ,. . Programaci6n y abstraccion EI papel (el rol) de la abstracci6n 1.5..1. La abstracci6n como proceso natural mental 1. 5. 2 Historia de la abstraccion del software 153 Procedimientos 1.5.4. M6dulos",.. 1 5 5, Tipos abstractos de datos 1.5 6 Objetos Un nuevo paradigma de programacion Orientaci6n a objetos 1 7 1. Abstraccion . 1.7.2. Encapsulacion 1 73 Modularidad 1'74. Jerarquia.. 1.75 Polimorfismo 176 Otras propiedades Reutilizaci6n de software , .. , Lenguajes de programacion orientados a objetos 1 9 1 Clasificaci6n de los lenguajes orientados a objetos 3 4 4 4 5 5 7 9 9 10 10 11 12 13 J3 14 l5 16 17 18 18 18 19 20 21 22 23 v
  • 3. Contenido vi vii Contenido 1 10 Desarrollo tradicional frente a orientad'(TaO)bjetos 1.11 Beneficios de las tecnologfas de objetos Resumen Capitulo 2, Modularidad: tipos abstractos de datos Moduladdad 21 I La estructura de un modulo, 2.12 Reglas de modularizacion Diseno de modules 22 2,21 Acoplamiento de modules 2.22 Cohesion de modules . 2,3. Tipos de datos .' ., Abstraccion en Jenguajes de programacion 24 24 1 Abstracciones de control 2.4 2 Abstraccion de datos ' "" , 2,5 Tipos abstractos de. datos 2,5 1 Ventajas de los tipos abstractos de datos, 2.52 Implementacion de los TAD .. , ' Tipos abstractcs de datos en Turbo Pascal ' ... .26 2.6 1 Aplicacion del tipo abstracto de dato Pila Tipos abstractos de datos en Modula-2 ' 27 27 1. Modules 272 Modules locales 2 7 3 Tipos opacos 274. Tipos transparentes .. ' . ..' . . .. .. .. ..... ., " 27.5 Una version del tipo abstracto de dato Pila con datos opacos 2.76 Otra aplicacioii del TAD Pila 28. Tipos abstractos de datos en Ada 28,1 Tipos privados 2.82 Tipos privados limitados , Tipos abstractos de datos en C .. .. .. .' . . . 29 2.9 1. Un ejemplo de Ull tipo abstracto de datos en C .. 210 Tipos abstractos de datos en c++ 2,101 Definicion de una clase Pila en c++ Resumen Ejercicios 21 , C apltt uI0 3' Conceptos fundamentales de programacion orientada a objetos 31 32 33 34 Programacion estructurada " :. " '. 3 1.1. Desventajas de la programacion estructmada l.Que es la programacion orientada a objetos? 321 EI objeto 3 22, Ejemplos de objetos .' 3.2,3. Metodos y mensajes Clases , .' 3 3 1. Implementacion de clases en lenguajes . 3,,32 Sintaxis Un mundo de objetos 25 27 29 30 31 31 32 35 35 35 36 38 38 39 40 42 42 43 45 46 46 47 47 48 49 51 53 55 56 57 58 60 61 64 65 66 67 69 69 70 71 73 75 75 76 77 3.4.1. Definicion de objetos 342 Identificacion de objetos 34.3 Duracion de los objetos .. 14.4. Objetos frente aclases Representacion 3 4 5 Datos internos 3.4.6 Ocultacion de datos 3..5 Herencia 3 5 1 Sintaxis 3.52. Tipos de herencia .. 36. Comunicaciones entre objetos: los mensajes . 3 6 1 Activacion de objetos 16.2. Mensajes 16,3. Paso de mensajes 37 Estructura inter na de un objeto . 17.1. Atributos 3.7,2. Metodos Clases ., 38 3,8.1. Una comparacion con tablas de datos 3.9 Herencia y tipos . 391 Herencia simple iherencia jel'ul'quica) 19,2. Herencia multiple therencia ell malla) 3.9 3 Clases abstr aetas 310 Anulacion/Sustitucion 3 11. Sobrecarga ., 312 Ligadura dinamica 3 121 Funciones 0 metodos virtuales 3.122 Polimorfismo 313 Objetos compuestos. 3 13 1 Un ejemplo de objetos compuestos. 313.2 Niveles de proiundidad 3.14 Reutilizaci6n con orientaci6n a objetos . 3 14.1 Objetos y reutilizacion 315. Polimorfismo Resumen Capitulo 4.. Lenguajes de programacion 4.] 4.2. 43. 78 78 grafica (Notacion de Ege) orientados a objetos .. Evoluci6n de los LPOOS 4 11 Estado actual de los Jenguajes orientados a objetos en la decada de los noventa Clasificacion de lenguajes orientados a objetos .... 421 Taxonomia de lenguajes orientados a objetos 422 Caractensticas de los Ienguajes orientados a objetos 4.2.3 PUlOS frente a hibridos , 4 2 4 Tipificacion estatica frente a dinamica 42.5 Ligadura estatica frente a dinamica 4.2.6. Revision de lenguajes orientados a objetos Ada ' 43 1. Abstracci6n de datos en Ada. 4.3.2 Genericidad en Ada. 4,33 Soporte de herencia en Ada-83 4.3 4. Soporte Ada para orientaci6n a objetos 80 80 83 84 84 86 87 89 90 90 92 92 93 93 94 95 96 98 98 100 ]01 102 104 104 105 105 107 107 109 110 110 111 113 114 117 118 119 120 121 122 124 125 126 126 127 128 128
  • 4. viii Contenido Contenido 4 4 1 La biblioteca de clases Eiffel 4.4.2. EI entorno de programacion Eiffel . 4.4.3. EI Jenguaje Eiffel 4 5. Small talk . . . .. . . 451 El lenguaje Smalltalk ..... .... 4.5.2 La jerarquia de clases Smalltalk . 4.6 OtTOS lenguajes de programacion orientados a objetos . Resumen Ejercicios 129 130 130 131 132 133 134 134 135 136 Capitulo 5. 137 44 Eiffel Modelado de objetos: relaciones 51 Relaciones entre clases. . Relaci6n de generalizacionjespecializacion (is-ales-un) 5.2.1 Ierarqufas de generalizaci6njespecializaci6n 53 Relaci6n de agregacion (has-altiene-un) ... 5 3.1 Agregacion frente a generalizacion 54. Relacion de asociaci6n 5.41. OtIOS ejemplos de cardinalidad .. 5.5 Herencia: jerarquia de c1ases 5.5.1 Herencia simple . 5 52 Herencia multiple . 5.521 Ventajas de la herencia multiple. 5 5 2 2 Inconvenientes de la herencia multiple. 5 5 2 3 Disefio de clases con herencia multiple. 56 Herencia repetida Resumen 52 Bjercicios 138 6.7. Disefios practices de clases 6.71 Clases Reloj y Presentar 68 Tecnicasde creaci6n e inicializaci6n de objetos . 6.8.1. Objetos dinamicos new y delete . 69. Inicializacion y limpieza de objetos . 69 1 Uso de una clase . 610 Reglas practicas para construccion de clases 6101 Funciones miembro . 6.102 Una aplicaci6n sencilla 6.10.3. Control de acceso a los miembros de una clase 6.10.4. Creaci6n, inicializacion y destrucci6n de objetos 6 1] El puntero this Resumen Ejercicios 185 188 190 192 193 201 204 207 208 213 216 221 222 223 Clases abstractas y herencia 229 138 141 143 145 146 149 150 151 152 155 155 156 157 160 160 Parte II ix Capitulo 7. Abstraccion de la generalizacion y especializacion Clases abstractas 73 Herencia en C++: clases derivadas 7.3. L Sin taxis de la herencia simple 73.2. Sintaxis de la herencia multiple 7.33. Ambiguedad y resoluci6n de ambito 7.4. Herencia repetida y clases base virtuales 7.5 Funciones virtuales puras 7.51. Otro ejemplo de clase abstracta 76 Diseno de clases abstractas . 77 Una aplicacion practica: jerarqufa de figuras 7 7. 1. La clase F iqur a Resumen Ejercicios 71 7.2 de clases 230 232 233 233 237 240 242 243 247 247 251 251 252 252 Capitulo 8.. Polimorfismo 255 81 Ligadura 8.1.1. Ligadura en C++ 82 Funciones virtuales .. .. 82.1 Ligadura dinamica mediante funcionesvirtuales . 8.3. Polimorfismo .. 83 1 EI polimorfismo sin ligaduradinamica 8.3 2 El polirnorfismo con ligadura dinamica 84 Uso del polirnorfismo . 84.1 Uso del polirnorfiosmo C++ .. en 8 5 Ligadura dinamica frente a ligadura estatica 8.6. Ventajasdel polimorfismo Resumen Ejercicios 256 256 257 258 260 Capitulo 9.. Genericidad: plantillas (templates) 268 184 91 184 92 269 270 PROGRAMACION ORIENTADA A OBJEIOS CON C++ Capitulo 6.. Clases y objetos en C++ 167 6. L Clases 168 169 170 62 63. 6.4 65 66 y objetos Objetos 6.2.1 Identificaci6n de objetos . Clases Creaci6n de clases . Diagramas de clases y objetos . Construcci6n de clases en c++ 6 6 1 Declaracion de clases 6.6.2. Definicion de una clase . 6.63 Constructores y destructores 6. 64 Usal las clases . 665 Especificaci6njimplementaci6n de clases 666 Compilaci6n separada de c1ases 6. 6. 7 Reutilizaci6n de clases . 6. 6 8 Estilos de declaracion de clases 171 172 173 176 177 179 180 181 181 183 Genericidad : Conceptos fundamentales de plantillas en C++ 261 262 263 263 264 265 265 266