PDF de programación - Programación Orientada a Objetos - Tema 3: Propiedades Básicas de la Orientación a Objetos

Imágen de pdf Programación Orientada a Objetos - Tema 3: Propiedades Básicas de la Orientación a Objetos

Programación Orientada a Objetos - Tema 3: Propiedades Básicas de la Orientación a Objetosgráfica de visualizaciones

Publicado el 4 de Julio del 2017
923 visualizaciones desde el 4 de Julio del 2017
3,3 MB
124 paginas
Creado hace 15a (04/11/2008)
Programación Orientada a Objetos
Programación Orientada a Objetos

Tema 3: Propiedades Básicas de la
Tema 3: Propiedades Básicas de la

Orientación a Objetos
Orientación a Objetos

Eduardo Mosqueira Rey
Eduardo Mosqueira Rey

LIDIA
LIDIA
Laboratorio de Investigación y
Laboratorio de Investigación y
desarrollo en Inteligencia Artificial
desarrollo en Inteligencia Artificial

Departamento de Computación
Departamento de Computación
Universidade da Coruña, España
Universidade da Coruña, España

Objetivos
Objetivos

• Conocer y analizar las principales propiedades
• Conocer y analizar las principales propiedades

de la orientación a objetos
de la orientación a objetos

• Estas propiedades incluirán aquellas que son
• Estas propiedades incluirán aquellas que son
compartidas por los tipos abstractos de datos
compartidas por los tipos abstractos de datos
compartidas por los tipos abstractos de datos
compartidas por los tipos abstractos de datos
(como abstracción, encapsulación,
(como abstracción, encapsulación,
(como abstracción, encapsulación,
(como abstracción, encapsulación,
modularidad), como aquellas propias de la
modularidad), como aquellas propias de la
orientación a objetos (herencia, polimorfismo,
orientación a objetos (herencia, polimorfismo,
ligadura dinámica, etc.).
ligadura dinámica, etc.).

• Estudiar cómo un lenguaje como Java
• Estudiar cómo un lenguaje como Java

implementa, en mayor o menor medida, dichas
implementa, en mayor o menor medida, dichas
propiedades básicas.
propiedades básicas.

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

2

Índice
Índice

1. Abstracción
1. Abstracción
2. Encapsulamiento
2. Encapsulamiento
3. Modularidad
3. Modularidad
4. Jerarquía
4. Jerarquía
5. Polimorfismo
5. Polimorfismo
6. Tipificación
6. Tipificación
7. Ligadura dinámica
7. Ligadura dinámica

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

3

Índice
Índice

1. Abstracción
1. Abstracción

– Definición y características
– Definición y características

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

4

Abstracción
Abstracción

Definición y características
Definición y características

• Definición
• Definición

– Representación de las características fundamentales de algo
– Representación de las características fundamentales de algo

sin incluir antecedentes o detalles irrelevantes
sin incluir antecedentes o detalles irrelevantes

• Características
• Características

– Es uno de los métodos fundamentales para enfrentarse a la
– Es uno de los métodos fundamentales para enfrentarse a la

complejidad inherente al software (ya visto en los TADs).
complejidad inherente al software (ya visto en los TADs).
complejidad inherente al software (ya visto en los TADs).
complejidad inherente al software (ya visto en los TADs).

– La OO fomenta que el uso de abstracciones en los datos y
– La OO fomenta que el uso de abstracciones en los datos y

procedimientos para simplificar la descripción del problema
procedimientos para simplificar la descripción del problema

– El elemento clave de la abstracción es la clase
– El elemento clave de la abstracción es la clase

• Clase ≡≡≡≡ Descripción abstracta de un grupo de objetos, cada uno de
• Clase ≡≡≡≡ Descripción abstracta de un grupo de objetos, cada uno de

los cuales se diferencia por su estado específico y por la
los cuales se diferencia por su estado específico y por la
posibilidad de realizar una serie de operaciones.
posibilidad de realizar una serie de operaciones.

– Ejemplo, Esfera
– Ejemplo, Esfera

• Estado: coordenadas del centro y radio
• Estado: coordenadas del centro y radio
• Operaciones: mover el centro, cambiar el radio.
• Operaciones: mover el centro, cambiar el radio.

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

5

Índice
Índice

2. Encapsulamiento
2. Encapsulamiento

– Definición y características
– Definición y características
– Ventajas
– Ventajas

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

6

Encapsulamiento
Encapsulamiento

Definición y características
Definición y características

• Definición
• Definición

– Proceso de almacenar en un mismo compartimiento los elementos de
– Proceso de almacenar en un mismo compartimiento los elementos de

una abstracción que constituyen su estructura y su comportamiento
una abstracción que constituyen su estructura y su comportamiento

• Características
• Características

– Abstracción y el encapsulamiento son conceptos complementarios:
– Abstracción y el encapsulamiento son conceptos complementarios:
• La abstracción se centra en el comportamiento observable de un objeto
• La abstracción se centra en el comportamiento observable de un objeto
• La abstracción se centra en el comportamiento observable de un objeto
• La abstracción se centra en el comportamiento observable de un objeto
• El encapsulamiento se centra en la implementación que da lugar a ese
• El encapsulamiento se centra en la implementación que da lugar a ese

comportamiento.
comportamiento.

– El encapsulamiento también implica ocultación de información
– El encapsulamiento también implica ocultación de información

• Cada objeto revela lo menos posible de su estructura interna
• Cada objeto revela lo menos posible de su estructura interna
• parte pública ⇒⇒⇒⇒ interfaz, parte privada ⇒⇒⇒⇒ implementación.
• parte pública ⇒⇒⇒⇒ interfaz, parte privada ⇒⇒⇒⇒ implementación.

– Ejemplos
– Ejemplos

• Una operación es vista por sus usuarios como si fuera una simple entidad,
• Una operación es vista por sus usuarios como si fuera una simple entidad,

aunque está formada por una secuencia de operaciones a bajo nivel.
aunque está formada por una secuencia de operaciones a bajo nivel.

• Un objeto es visto como un simple objeto en vez de como una composición
• Un objeto es visto como un simple objeto en vez de como una composición

de sus partes individuales.
de sus partes individuales.

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

7

Encapsulamiento
Encapsulamiento

Ventajas
Ventajas

• Ventajas
• Ventajas

– La supresión de los detalles de bajo nivel nos
– La supresión de los detalles de bajo nivel nos

permite razonar acerca de la operación u objeto de
permite razonar acerca de la operación u objeto de
forma más eficiente.
forma más eficiente.

– Un cambio en la representación de una abstracción
– Un cambio en la representación de una abstracción
puede no obligar a un cambio en los clientes que la
puede no obligar a un cambio en los clientes que la
puede no obligar a un cambio en los clientes que la
puede no obligar a un cambio en los clientes que la
utilicen
utilicen
• Cambios en el diseño que no afecten al interfaz no se
• Cambios en el diseño que no afecten al interfaz no se

propagan
propagan

• Podemos cambiar una función por otra más eficiente sin
• Podemos cambiar una función por otra más eficiente sin

afectar a los usuarios de dicha función
afectar a los usuarios de dicha función

• Muy importante ya que facilita el mantenimiento del software
• Muy importante ya que facilita el mantenimiento del software

– Java
– Java

• La encapsulación se consigue a través del concepto de
• La encapsulación se consigue a través del concepto de
clase combinado con los especificadores de acceso que
clase combinado con los especificadores de acceso que
limitan la visibilidad de los atributos y métodos.
limitan la visibilidad de los atributos y métodos.

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

8

Índice
Índice

3. Modularidad
3. Modularidad

– Definición y características
– Definición y características
– Modularidad en Java
– Modularidad en Java

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

9

Modularidad
Modularidad

Definición y características
Definición y características

• Definición
• Definición

– Propiedad que tiene un sistema que ha sido descompuesto en
– Propiedad que tiene un sistema que ha sido descompuesto en

un conjunto de partes o módulos que sean cohesivos y
un conjunto de partes o módulos que sean cohesivos y
débilmente acoplados
débilmente acoplados

• Cohesivos ≡≡≡≡ agrupan abstracciones que guardan relación lógica
• Cohesivos ≡≡≡≡ agrupan abstracciones que guardan relación lógica
• Débilmente acoplados ≡≡≡≡ minimizan las dependencias entre módulos
• Débilmente acoplados ≡≡≡≡ minimizan las dependencias entre módulos

• Ventajas
• Ventajas

– El hecho de fragmentar un programa en componentes
– El hecho de fragmentar un programa en componentes
individuales suele contribuir a reducir su complejidad
individuales suele contribuir a reducir su complejidad

– Permite crear una serie de fronteras bien definidas y dentro del
– Permite crear una serie de fronteras bien definidas y dentro del

programa ⇒⇒⇒⇒ aumenta la comprensión del mismo.
programa ⇒⇒⇒⇒ aumenta la comprensión del mismo.

• Sinergia entre abstracción, encapsulamiento y
• Sinergia entre abstracción, encapsulamiento y

modularidad
modularidad
– Un objeto proporciona una frontera bien definida alrededor de
– Un objeto proporciona una frontera bien definida alrededor de

una sola abstracción, el encapsulamiento y la modularidad
una sola abstracción, el encapsulamiento y la modularidad
proporcionan barreras que rodean a esa abstracción.
proporcionan barreras que rodean a esa abstracción.

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

10

Modularidad
Modularidad

Definición y características
Definición y características

• Abstracción, Encapsulamiento y Modularidad
• Abstracción, Encapsulamiento y Modularidad

mensaje

Módulo

Objeto 1

Estado

Interfaz

Objeto 3

Estado

Inte
  • Links de descarga
http://lwp-l.com/pdf4832

Comentarios de: Programación Orientada a Objetos - Tema 3: Propiedades Básicas de la Orientación a Objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad