Ministerio de Producción
Secretaría de Industria y Servicios
Subsecretaría de Servicios Tecnológicos y Productivos
y
Ministerio de Educación y Deportes
A través del
Analistas del Conocimiento
Dimensión Programador
, Programa Nacional 111 Mil - Analistas del Conocimiento
Apunte del Módulo
Programación Orientada a
Objetos
Módulo Programación Orientada a Objetos
Versión 1.1 – Liberada el 17/10/2016
2
, Programa Nacional 111 Mil - Analistas del Conocimiento
Tabla de Contenido
DEFINICIÓN DEL MÓDULO.................................................................................................................... 6
PRESENTACIÓN ........................................................................................................................................ 6
INTRODUCCIÓN .................................................................................................................................... 8
LENGUAJES DE PROGRAMACIÓN ....................................................................................................... 10
TIPOS DE LENGUAJES DE PROGRAMACIÓN ................................................................................................... 15
NIVEL DE ABSTRACCIÓN DEL PROCESADOR.................................................................................................... 15
PARADIGMA DE PROGRAMACIÓN ............................................................................................................... 17
FORMA DE EJECUCIÓN ............................................................................................................................. 17
¿QUÉ SON LOS PARADIGMAS? ........................................................................................................... 19
PARADIGMAS DE PROGRAMACIÓN............................................................................................................. 19
CLASIFICACIÓN DE PARADIGMAS DE PROGRAMACIÓN.................................................................................... 20
PARADIGMA IMPERATIVO ........................................................................................................................ 20
PARADIGMA DECLARATIVO ...................................................................................................................... 20
PARADIGMA ESTRUCTURADO.................................................................................................................... 20
PARADIGMA FUNCIONAL ......................................................................................................................... 20
PARADIGMA LÓGICO ............................................................................................................................... 21
PARADIGMA ORIENTADO A OBJETOS.......................................................................................................... 21
DESARROLLO DE SOFTWARE CON EL PARADIGMA ORIENTADO A OBJETOS ...................................... 22
¿QUÉ ES UNA CLASE? .............................................................................................................................. 22
INTERFAZ E IMPLEMENTACIÓN.................................................................................................................... 23
¿QUÉ ES UN OBJETO? ............................................................................................................................. 23
ESTADO ................................................................................................................................................ 24
COMPORTAMIENTO ................................................................................................................................. 25
IDENTIDAD ............................................................................................................................................ 26
RELACIONES ENTRE OBJETOS ..................................................................................................................... 26
ENLACES ............................................................................................................................................... 27
VISIBILIDAD ........................................................................................................................................... 27
AGREGACIÓN......................................................................................................................................... 27
RELACIONES ENTRE CLASES ....................................................................................................................... 27
ASOCIACIÓN .......................................................................................................................................... 28
HERENCIA ............................................................................................................................................. 28
EL ORNITORRINCO, QUE DERIVA DE MAMÍFERO Y OVÍPARO. LAS DOS CLASES DERIVAN DE ANIMAL. ............................ 30
AGREGACIÓN ......................................................................................................................................... 31
EL MODELO DE OBJETOS.......................................................................................................................... 31
ABSTRACCIÓN ........................................................................................................................................ 32
ENCAPSULAMIENTO ................................................................................................................................. 34
MODULARIDAD ...................................................................................................................................... 35
JERARQUÍA ............................................................................................................................................ 37
TIPOS (TIPIFICACIÓN) ............................................................................................................................... 38
Módulo Programación Orientada a Objetos
Versión 1.1 – Liberada el 17/10/2016
3
, Programa Nacional 111 Mil - Analistas del Conocimiento
CONCURRENCIA...................................................................................................................................... 39
PERSISTENCIA......................................................................................................................................... 40
CLASIFICACIÓN ....................................................................................................................................... 41
EL MODELADO EN EL DESARROLLO DE SOFTWARE ............................................................................ 45
¿QUÉ ES UN MODELO? ............................................................................................................................ 45
LA IMPORTANCIA DE MODELAR ................................................................................................................. 45
PRINCIPIOS DE MODELADO ....................................................................................................................... 46
ADVERTENCIAS EN EL MODELADO.............................................................................................................. 46
LENGUAJE DE MODELADO UNIFICADO (UML) .................................................................................... 47
CONCEPTOS BÁSICOS SOBRE UML ............................................................................................................. 47
BREVE RESEÑA HISTÓRICA........................................................................................................................ 47
¿QUÉ ES LA OMG? ................................................................................................................................. 47
PRESENTACIÓN DE LOS DIAGRAMAS DE UML ................................................................................................ 48
DIAGRAMA DE CASO DE USO..................................................................................................................... 50
COMPONENTES DEL DIAGRAMA DE CASO DE USO........................................................................................... 50
DIAGRAMA DE CLASES ............................................................................................................................. 62
COMPONENTES DEL DIAGRAMA DE CLASES ................................................................................................... 62
DIAGRAMA DE MÁQUINA DE ESTADOS ....................................................................................................... 70
COMPONENTES DEL DIAGRAMA DE MÁQUINA DE ESTADO ............................................................................... 70
DIAGRAMA DE SECUENCIA........................................................................................................................ 75
COMPONENTES DEL DIAGRAMA DE SECUENCIA.............................................................................................. 76
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS ................................................................... 82
SURGIMIENTO DEL LENGUAJE .................................................................................................................... 82
ENTENDIENDO JAVA ................................................................................................................................ 82
EL ENTORNO DE DESARROLLO DE JAVA ........................................................................................................ 83
EL COMPILADOR DE JAVA .......................................................................................................................... 83
LA JAVA VIRTUAL MACHINE ...................................................................................................................... 83
APLICACIONES DE JAVA ............................................................................................................................ 85
ANTES DE COMENZAR .............................................................................................................................. 85
DECLARACIÓN DE CLASES ......................................................................................................................... 86
TIPOS DE DATOS ..................................................................................................................................... 87
TIPOS BÁSICOS DE DATOS .......................................................................................................................... 87
TIPOS DE DATOS REFERENCIA ..................................................................................................................... 88
CONVERSIÓN DE TIPOS DE DATOS O CASTING ................................................................................................ 89
EL RECOLECTOR DE BASURA....................................................................................................................... 89
ÁMBITO DE LAS VARIABLES ........................................................................................................................ 89
OPERADORES ......................................................................................................................................... 90
ARRAYS................................................................................................................................................. 94
ESTRUCTURAS DE CONTROL ...................................................................................................................... 95
ESTRUCTURAS CONDICIONALES .................................................................................................................. 95
BUCLES ................................................................................................................................................. 97
BLOQUES PARA MANEJO DE EXCEPCIONES..................................................................................................... 98
CLASES Y OBJETOS .................................................................................................................................. 99
Módulo Programación Orientada a Objetos
Versión 1.1 – Liberada el 17/10/2016
4
Secretaría de Industria y Servicios
Subsecretaría de Servicios Tecnológicos y Productivos
y
Ministerio de Educación y Deportes
A través del
Analistas del Conocimiento
Dimensión Programador
, Programa Nacional 111 Mil - Analistas del Conocimiento
Apunte del Módulo
Programación Orientada a
Objetos
Módulo Programación Orientada a Objetos
Versión 1.1 – Liberada el 17/10/2016
2
, Programa Nacional 111 Mil - Analistas del Conocimiento
Tabla de Contenido
DEFINICIÓN DEL MÓDULO.................................................................................................................... 6
PRESENTACIÓN ........................................................................................................................................ 6
INTRODUCCIÓN .................................................................................................................................... 8
LENGUAJES DE PROGRAMACIÓN ....................................................................................................... 10
TIPOS DE LENGUAJES DE PROGRAMACIÓN ................................................................................................... 15
NIVEL DE ABSTRACCIÓN DEL PROCESADOR.................................................................................................... 15
PARADIGMA DE PROGRAMACIÓN ............................................................................................................... 17
FORMA DE EJECUCIÓN ............................................................................................................................. 17
¿QUÉ SON LOS PARADIGMAS? ........................................................................................................... 19
PARADIGMAS DE PROGRAMACIÓN............................................................................................................. 19
CLASIFICACIÓN DE PARADIGMAS DE PROGRAMACIÓN.................................................................................... 20
PARADIGMA IMPERATIVO ........................................................................................................................ 20
PARADIGMA DECLARATIVO ...................................................................................................................... 20
PARADIGMA ESTRUCTURADO.................................................................................................................... 20
PARADIGMA FUNCIONAL ......................................................................................................................... 20
PARADIGMA LÓGICO ............................................................................................................................... 21
PARADIGMA ORIENTADO A OBJETOS.......................................................................................................... 21
DESARROLLO DE SOFTWARE CON EL PARADIGMA ORIENTADO A OBJETOS ...................................... 22
¿QUÉ ES UNA CLASE? .............................................................................................................................. 22
INTERFAZ E IMPLEMENTACIÓN.................................................................................................................... 23
¿QUÉ ES UN OBJETO? ............................................................................................................................. 23
ESTADO ................................................................................................................................................ 24
COMPORTAMIENTO ................................................................................................................................. 25
IDENTIDAD ............................................................................................................................................ 26
RELACIONES ENTRE OBJETOS ..................................................................................................................... 26
ENLACES ............................................................................................................................................... 27
VISIBILIDAD ........................................................................................................................................... 27
AGREGACIÓN......................................................................................................................................... 27
RELACIONES ENTRE CLASES ....................................................................................................................... 27
ASOCIACIÓN .......................................................................................................................................... 28
HERENCIA ............................................................................................................................................. 28
EL ORNITORRINCO, QUE DERIVA DE MAMÍFERO Y OVÍPARO. LAS DOS CLASES DERIVAN DE ANIMAL. ............................ 30
AGREGACIÓN ......................................................................................................................................... 31
EL MODELO DE OBJETOS.......................................................................................................................... 31
ABSTRACCIÓN ........................................................................................................................................ 32
ENCAPSULAMIENTO ................................................................................................................................. 34
MODULARIDAD ...................................................................................................................................... 35
JERARQUÍA ............................................................................................................................................ 37
TIPOS (TIPIFICACIÓN) ............................................................................................................................... 38
Módulo Programación Orientada a Objetos
Versión 1.1 – Liberada el 17/10/2016
3
, Programa Nacional 111 Mil - Analistas del Conocimiento
CONCURRENCIA...................................................................................................................................... 39
PERSISTENCIA......................................................................................................................................... 40
CLASIFICACIÓN ....................................................................................................................................... 41
EL MODELADO EN EL DESARROLLO DE SOFTWARE ............................................................................ 45
¿QUÉ ES UN MODELO? ............................................................................................................................ 45
LA IMPORTANCIA DE MODELAR ................................................................................................................. 45
PRINCIPIOS DE MODELADO ....................................................................................................................... 46
ADVERTENCIAS EN EL MODELADO.............................................................................................................. 46
LENGUAJE DE MODELADO UNIFICADO (UML) .................................................................................... 47
CONCEPTOS BÁSICOS SOBRE UML ............................................................................................................. 47
BREVE RESEÑA HISTÓRICA........................................................................................................................ 47
¿QUÉ ES LA OMG? ................................................................................................................................. 47
PRESENTACIÓN DE LOS DIAGRAMAS DE UML ................................................................................................ 48
DIAGRAMA DE CASO DE USO..................................................................................................................... 50
COMPONENTES DEL DIAGRAMA DE CASO DE USO........................................................................................... 50
DIAGRAMA DE CLASES ............................................................................................................................. 62
COMPONENTES DEL DIAGRAMA DE CLASES ................................................................................................... 62
DIAGRAMA DE MÁQUINA DE ESTADOS ....................................................................................................... 70
COMPONENTES DEL DIAGRAMA DE MÁQUINA DE ESTADO ............................................................................... 70
DIAGRAMA DE SECUENCIA........................................................................................................................ 75
COMPONENTES DEL DIAGRAMA DE SECUENCIA.............................................................................................. 76
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS ................................................................... 82
SURGIMIENTO DEL LENGUAJE .................................................................................................................... 82
ENTENDIENDO JAVA ................................................................................................................................ 82
EL ENTORNO DE DESARROLLO DE JAVA ........................................................................................................ 83
EL COMPILADOR DE JAVA .......................................................................................................................... 83
LA JAVA VIRTUAL MACHINE ...................................................................................................................... 83
APLICACIONES DE JAVA ............................................................................................................................ 85
ANTES DE COMENZAR .............................................................................................................................. 85
DECLARACIÓN DE CLASES ......................................................................................................................... 86
TIPOS DE DATOS ..................................................................................................................................... 87
TIPOS BÁSICOS DE DATOS .......................................................................................................................... 87
TIPOS DE DATOS REFERENCIA ..................................................................................................................... 88
CONVERSIÓN DE TIPOS DE DATOS O CASTING ................................................................................................ 89
EL RECOLECTOR DE BASURA....................................................................................................................... 89
ÁMBITO DE LAS VARIABLES ........................................................................................................................ 89
OPERADORES ......................................................................................................................................... 90
ARRAYS................................................................................................................................................. 94
ESTRUCTURAS DE CONTROL ...................................................................................................................... 95
ESTRUCTURAS CONDICIONALES .................................................................................................................. 95
BUCLES ................................................................................................................................................. 97
BLOQUES PARA MANEJO DE EXCEPCIONES..................................................................................................... 98
CLASES Y OBJETOS .................................................................................................................................. 99
Módulo Programación Orientada a Objetos
Versión 1.1 – Liberada el 17/10/2016
4