Professional Documents
Culture Documents
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
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.
16.
17
EN ESPANA - PRINTED
IN SPAIN
18
1. 9.
EI desarrollo de software
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
Contenido
vi
vii
Contenido
Capitulo 2,
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
33
34
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
4.2.
43.
78
78
grafica (Notacion
de Ege)
orientados 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
129
130
130
131
132
133
134
134
135
136
Capitulo 5.
137
44
Eiffel
51
52
Bjercicios
138
141
143
145
146
149
150
151
152
155
155
156
157
160
160
Parte II
de clases
230
232
233
233
237
240
242
243
247
247
251
251
252
252
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 polirnorfiosmoen C++ ..
8 5 Ligadura dinamica frente a ligadura estatica
8.6. Ventajas del polimorfismo
Resumen
Ejercicios
256
256
257
258
260
268
184
91
184
92
269
270
168
169
170
65
66
229
81
6. L Clases
6.4
Capitulo 7.
255
167
63.
185
188
190
192
193
201
204
207
208
213
216
221
222
223
138
62
6.7.
ix
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