Professional Documents
Culture Documents
Sesion 20
Sesion 20
METODOLOGÍAS DE
PROGRAMACIÓN
Características de la Programación
Orientada a Objetos (I)
SESIÓN
20
Ing. Ernesto Nicho Córdova
www.usat.edu.pe ncordova@usat.edu.pe
Presentación inicial
• Marcar asistencia
Propósito de la sesión
Objetivo
Resultado de Aprendizaje UNIDAD 01
Comprende y aplica
las características de
Construye programas de
Logro de la asignatura
la programación computadora en Java con
orientada a objetos: Interfaces Gráficas de
Competencias de
Construye programas de
Abstracción, Usuario mediante la computadora con interfaz perfil de egreso
aplicación de los gráfica de usuario, mediante
Encapsulamiento y fundamentos de la La asignatura Metodologías
la utilización de la de Programación, que
polimorfismo. programación orientada a metodología y un lenguaje
objetos corresponde al área de
de programación orientada estudios Específicas,
a objetos. contribuye al logro del perfil
de egreso, específicamente
a las competencias:
• CE3: DESARROLLO DE SOFTWARE
• CG2: RESOLUCIÓN DE
PROBLEMAS CON RIGOR
CIENTÍFICO
3
Contenidos
Abstracción
Encapsulamiento
Polimorfismo
Herencia
4
Abstracción
5
Abstracción (2)
• Implementar el objeto automóvil
6
Abstracción (3)
• En los lenguajes de programación orientada a objetos, el
concepto de Clase es la representación y el mecanismo por el
cual se gestionan las abstracciones. Decidir el conjunto correcto
de abstracciones de un determinado dominio, es el problema
central del diseño orientado a objetos.[7]
Los mecanismos de abstracción usados en el enfoque
OO
7
Abstracción (4)
es_un
GENERALIZACIÓN AGREGACIÓN
8
Encapsulamiento
• El encapsulamiento consiste en unir en la clase las características
y comportamientos, esto es, las variables y métodos. Es tener
todo esto es una sola entidad, bajo la misma unidad de
programación.
• La encapsulación es el mecanismo que enlaza el código y los
datos, a la vez que los asegura frente a accesos no deseados.
• La idea central del encapsulamiento es esconder los detalles y
mostrar lo relevante. Permite el ocultamiento de la información
separando el aspecto correspondiente a la especificación de la
implementación; de esta forma, distingue el "qué hacer" del "cómo
hacer". La especificación es visible al usuario, mientras que la
implementación se le oculta.[5]
9
Encapsulamiento (2)
10
Polimorfismo
11
Ejemplos de polimorfismo
El operador +
int a = 10, b = 5 ,c ;
c = a + b;
Figura2D
{abstract} String a = “10”, b = “5” ,c ;
- dim1: float c = a + b;
- dim2: float
+ setDim1(d1:float)
+ setDim2(d2: float)
+ getDim1(): float
+ getDim2(): float
+ area(): float
Triángulo Rectángulo
12
Clases abstractas e interfaces
14
Conclusiones
• Las características más resaltantes de la Programación Orientada a Objetos son:
Abstracción, Encapsulamiento, Herencia y Polimorfismo.
• La abstracción permite gestionar la complejidad de los objetos y capturar lo principal
de la realidad analizada.
• La principal razón del uso de la encapsulación es evitar el acceso directo a atributos
de una clase desde fuera de la propia clase.
• Polimorfismo no es sobrecarga, permite utilizar el mismo método (de distintas clases)
con el mismo nombre y parámetros (pero con comportamiento distintos según el
objeto)
Próxima sesión
– Características de la POO - Herencia.
15
Referencias
• [1] L. Joyanes, Fundamentos de programación. Algoritmos, estructura de datos y
objetos, 4a ed. Madrid: McGraw-Hill, 2008.
• [2] P. Deitel y H. Deitel, Como programar en Java, 10a ed. México: Pearson
Educación, 2016.
• [3] P. Sznajdleder, Java a Fondo, 3a ed. Buenos Aires: Alfaomega, 2016.
• [4] B. Eckel, Piensa en Java, 4a ed. Madrid: Pearson Educación, 2007.
• [5] Departamento de Formación, Fundamentos de la programación en Java. INSA,
2017.
• [6] A. Jiménez Marín y F. Pérez Montes, Aprende a programar con Java. Un
enfoque práctico de cero, 2a ed. Madrid: Paraninfo, 2016.
• [7] Y. Pascuas, Compilado de Programación II. Fundamentos de programación
orientada a Objetos. Florencia: Universidad de la Amazonía, 2014.
16