Programacion
A REA D E I N F O R M A T I C A Y C O M P U T A C I O N
Antonio Vaquero S ánchez
Catedrático de Lenguajes y Sistemas Informáticos
Escuela Superior de Informática
Universidad Complutense de Madrid
E SPANA
G erardo Q uiroz V ieyra
Ingeniero en Coinunicaciones y Electrónica
por la ESIME del Instituto Politécnico Nacional
Profesor de la Universidad AutónomaMetropolitana
Unidad Xochimilco
MEXICO
W illy V ega G álvez
Universidad Nacional de Ingeniería
PERU
PROGRAMACION
ORIENTADA A OBJETOS
Luis Joyanes Aguilar
Director del Departamento de
Lenguajes y Sistemas Informáticos e Ingeniería de Software
Facultad de Informática
Universidad Pontificia de Salamanca Cainpus Madiid
McGraw-Hill
-
M ADRID. BUENOS AIRES. CARACAS GUATEMALA LISBOA MEXICONUEVA YORK PANAMA. SAN JUAN SANTAFE D E BOGOTA SANTIAGO. SAO PAULO
AUCKLAND HAMBURGO LONDRES M llAN MONTREAL NUEVA DELHl PARIS
SAN FRANCISCO. SIDNEY SINGAPUR S T LOUlS TOKIO TORONTO
.
Prólogo
Parte 1
EL MUNDO DE LA ORIENTACION A OBJETOS:
CONCEPTOS, RELACIONES, MODELADO Y LENGUAJES
DE PROGRAMACION
Capítulo 1. El desarrollo de software
11
12
13
PROGRAMACION ORIENIADA A 0 B.JEIOSNo está permitida la reproducción total o parcial de este libro, ni su tratamiento
informática, ni la transmisión de ninguna forma o por cualquier medio, ya sea
electrónico, mecánico, por fotocopia, por registro u otros metodos, sin el permiso
previo y por escrito de los titulares del Copyright
14
15
a
DERECHOS RESERVADOS 01996, respecto a la p r i ~ edición en español, porMcGRAW-HILL/INTERAMERICANA E ESPANA, S A
D
Edificio Valrealty, 1 " planta
Basauri, 17
28023 Aravaca (Madrid)
16
17
ISBN: 84-481-0590-'7
Depósito legal: M 30 121-1996
Editor: José Dominguez Alconchel
Diseño de cubierta: Juan Garcia
Compuesto e impreso en Fernández Ciudad, S I
18
19
L.a complejidad inbeiente al software
1 1 1 La complejidad del dominio del problema
..
1 1 2 L adificultad de gestionar el proceso de desarrollo
1 1 3 L a flexibilidad a través del software
La crisis del softwate . .
Factores en la calidad del software
..
1 1 1 Razones fundamentales que están influyendo en la imwortancia de
la P O 0
Proeramación v abstracción
El papel (el r olj de la abstracción
1 5 1 L a abstracción como proceso natural mental
1 5 2 H istoria de la abstracción delsoftware
1 5 3 P rocedimientos
.,
1 5 4 Módulos , ,
1 5 5. Tipos abstractos de datos
1.5 6 O bjetos
U n nuevo paradigma de programación
O rientación a objetos
1 7 1 Abstracción
,,
1 7 2 Encapsulación
1 7 3 M odularidad
1 '7 4 J erarquía
1 7 5 Polimorfismo
1 7 6 O tras propiedades
Reutilización de software
,
.
,,
Lenguajes de programación orientados a objetos
1 9 1 Clasificaciónde los lenguajes orientados a objetos
xvii
vi
1 10 Desarrollo tiadicioiial frente a oiientado a objetos
1 11 Beneficios de las tecnologías de objetos (TO)
Resumen
Capítulo 2
Modularidad
2 1 1 L.a estiuctura de un módulo
2.1 2 Reglas de modularización
2 2 Diseno de módulos
2 2 1 Acoplamieiito de módulos
2.2 2 Cohesión de módulos
2 3 Tipos de daios
2 4 Abstiacción enlenguajes de progiaiiidción
2 4 1 Abstracciones de control
2.4 2 Abstraccióii de datos
2 5 Tipos abstiactos de datos
2 5 1 Veritajas de los tipos abstI%dctosde daios
2.5 2 Iinplementación de los TAD . .
.,
2 6 Tipos abstractos de datos en 'Turbo Pascal
2.6 1 Aplicacióii del tipo abstiacto de dato Pila
2 7 Tipos abstiactos de datos en Modula-2
2 7 1 Módulos
2 '7 2 Módulos locales
2 7 1 Tinosonacos
2 7 4 Tipos transpdientes
.,
2 7 5 U na versión del tipo abstracto de dato Pila con datos opacos
7. 7 6 O tra aolicacióii del TAD Pila
-.. .
2 8 Tipos abstractos de datos en Ada
2 8 1 Tipos piiuados
2.8 2 Tipos privados limitados
2 9 Tipos abstractos de datos en C .
2.9 1 Un ejemplo de un tipo abstracto de datos en C
..
2 10 Tipos abstractos de datos en C + +
2 10 1 Definición...
Regístrate para leer el documento completo.