Programación Orientada a Objetos
CONCEPTOS, TERMINOLOGÍA Y
LENGUAJES (PARTE 1)
Versión 2.0
Miguel Ángel Abián
El cuadro La traición de las imágenes, del pintor surrealista belga René Magritte, se reproduce con carácter ilustrativo y pedagógico. No
se persigue ningún ánimo de lucro.
Orientación a objetos: conceptos, terminología y lenguajes (Parte 1) v2.0
ORIENTACIÓN A OBJETOS: CONCEPTOS,TERMINOLOGÍA Y LENGUAJES
(PARTE 1)
Resumen: Este tutorial, dividido en dos partes, proporciona una introducción a la
terminología y los conceptos de la orientación a objetos (OO), así como a los lenguajes
orientados a objetos.
Esta primera parte presenta los términos y conceptos de la OO desde un punto de
vista conceptual, dando definiciones intuitivas y manejables, e introduce el análisis ydiseño OO. Hay también una comparación con la metodología estructurada.
En la segunda parte (http://www.javahispano.org/tutorials.item.action?id=33), se
explican ampliamente conceptos como clase, objeto, mensaje, tipo abstracto de datos,
polimorfismo y relación. Además, se explican las principales características de los
lenguajes OO más populares, se muestra código que implementa los conceptosde la
OO (polimorfismo, herencia, etc.) en diversos lenguajes OO (Java, C++...) y se estudia
la evolución de los lenguajes OO.
Abstract: This tutorial, divided in two parts, provides an introduction to Object-Oriented
(OO) terminology and concepts, and to Object-Oriented languages.
This first part introduces OO terms and core concepts from a conceptual point of
view, giving intuitive andmanageable definitions, and introduces OO analysis and
design (OOAD). There is also a comparison with the structured methodology.
In the second part (http://www.javahispano.org/tutorials.item.action?id=33),
concepts like class, object, message, Abstract Data Types, polymorphism, inheritance
and relationship are widely explained. In addition, the main caracteristics of the more
popular OOlanguages are explained, code implementing the OO concepts
(polymorphism, interitance…) is shown for several Object-Oriented languages (Java,
C++…), and the evolution of OO languages is analysed.
Keywords: Abstraction, Class, CRC Cards, Encapsulation, Hierarchy, Learning Object
Orientation, Modularity, Object, Object Orientation, Object Oriented Analysis, OOAD,
Object Oriented Design, ObjectOriented Methodology, Object Oriented Paradigm,
Object Oriented Programming, Object Oriented Terminology, Software Analysis,
Software Design, Structured Methodology
© Miguel Ángel Abián, 2002-2006
Página 2 de 56
http://www.javahispano.org
ÍNDICE
1. Introducción. El porqué de este trabajo
Página 5
2. Glosario de la orientación a objetos
Página 10
3. Visión general de laorientación a objetos
Página 18
3.1 Orígenes de los conceptos de la OO
3.2 La orientación a objetos como metodología de desarrollo
de sistemas.
3.2.1 Introducción
3.2.2 El análisis OO. Casos de uso
3.2.3 El diseño OO
3.2.4 La programación OO
3.3 Comparación de la OO con la metodología estructurada
4. Fundamentos de la orientación a objetos
4.1 Abstracción
Página 18
Página 18
Página18
Página 20
Página 28
Página 34
Página 35
Página 41
Página 41
4.2 Modularidad
Página 42
4.3 Encapsulación
Página 44
4.4 Jerarquía
Página 46
5. Lenguajes de programación orientados a objetos. ¿Puede
utilizarse la OO en lenguajes no orientados a objetos?
6. El paradigma orientado a objetos: éxitos y fronteras
6.1 Él éxito del paradigma orientado a objetos, ¿se basaúnicamente en criterios objetivos?
6.2 Los límites de la POO
Página 54
Página 54
Página 56
Página 56
Nota biográfica del autor
© Miguel Ángel Abián, 2002-2006
Página 49
Página 3 de 56
Orientación a objetos: conceptos, terminología y lenguajes (Parte 1) v2.0
ORIENTACIÓN A OBJETOS: CONCEPTOS,
TERMINOLOGÍA Y LENGUAJES
(PARTE 1)
Miguel Ángel Abián
mabian ARROBA aidima...
Regístrate para leer el documento completo.