Unidad 3. obj 3.2 Programación Orientada a Objetos

20
SMBD Facilitadora: Ing. Alix Indriago

Transcript of Unidad 3. obj 3.2 Programación Orientada a Objetos

Page 1: Unidad 3. obj 3.2 Programación Orientada a Objetos

SMBD

Facilitadora: Ing. Alix Indriago

Page 2: Unidad 3. obj 3.2 Programación Orientada a Objetos

UNIDAD 3 .- PROGRAMACIÓN ORIENTADA A OBJETOS

3.2 Elementos de la Programación Orientada a Objetos

Objetos

Clase

Atributos

Métodos

Mensajes

AGENDA

Fundamentos de la POO

Abstracción

Encapsulamiento

Polimorfismo

Herencia

Page 3: Unidad 3. obj 3.2 Programación Orientada a Objetos

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA

A OBJETOS (POO):

Metodología que basa la estructura de

los programas en torno a los objetos.

Los lenguajes de POO ofrecen medios

y herramientas para describir los objetos

manipulados por un programa. Más que

describir cada objeto individualmente,

estos lenguajes proveen una

construcción (Clase) que describe a un

conjunto de objetos que poseen las

mismas propiedades.

Herencia

Cohesión

AbstracciónPolimorfismo

Acoplamiento

Encapsulamiento

Page 4: Unidad 3. obj 3.2 Programación Orientada a Objetos

ELEMENTOS DE LA POO

OBJETOS- Son entidades que tienen un determinado estado (atributo), comportamiento

(método) e identidad.

Es una entidad que encapsula datos (atributos) y acciones o funciones que los

manejan (métodos). También se define como una instancia o particularización de una

clase.

Los servicios ofrecidos por los objetos

1.- Los datos, que llamamos atributos.

2.- Las acciones o funciones, que llamamos métodos.

• Está compuesto de datos o

informaciones; serán uno o varios atributos a los que se habrán

asignado unos valores concretos (datos).

ESTADO

(ATRIBUTOS)

• Está definido por los métodos o mensajes a los que sabe responder

dicho objeto, es decir, qué operaciones se pueden realizar con

él.

COMPORTAMIENTO

(MÉTODOS) • Es una propiedad de un objeto que lo diferencia del resto, es decir, es

su identificador (concepto análogo al de

identificador de una variable o una

constante).

IDENTIDAD

Page 5: Unidad 3. obj 3.2 Programación Orientada a Objetos

Se identifica por un nombre o un identificador único que lo

diferencia de los demás.

Posee estados, está determinado por los valores que

poseen sus atributos en un momento dado.

Conjunto de métodos se describe o representa

mediante sus operaciones o métodos.

Conjunto de atributoscontienen valores que

determinan el estado del objeto durante su tiempo de vida.

CARACTERÍSTICAS GENERALES DE LOS OBJETOS

ELEMENTOS DE LA POO

Tiempo de vida.

Debe ser creado con una

instrucción particular (New ó

Nuevo) y al finalizar su

utilización es destruido con el

uso de otra instrucción o de

manera automática

Soportan encapsulamiento La

Los datos del objeto están

disponibles solo para ser

manipulados por los propios

métodos del objeto. El único

mecanismo que lo conecta con

el mundo exterior es el paso de

mensajes.

Page 6: Unidad 3. obj 3.2 Programación Orientada a Objetos

ELEMENTOS DE LA POO

CLASE- Es la agrupación o colección de objetos que comparten una estructura común y

un comportamiento común.

Es una plantilla que contiene la descripción general de una colección de objetos. Consta

de atributos y métodos que resumen las características y el comportamiento comunes de

un conjunto de objetos.

Todo objeto (también llamado instancia de una clase), pertenece a alguna clase.

Mientras un objeto es una entidad concreta que existe en el tiempo y en el espacio, una

clase representa solo una abstracción.

Todos aquellos objetos que pertenecen a la misma clase son descritos o comparten el

mismo conjunto de atributos y métodos.

Todos los objetos de una clase tienen el mismo formato y comportamiento, son

diferentes únicamente en los valores que contienen sus atributos. Todos ellos responden a

los mismos mensajes.

Su sintaxis algorítmica es:

Clase <Nombre de la Clase>

FClase <Nombre de la Clase>;

Page 7: Unidad 3. obj 3.2 Programación Orientada a Objetos

CARACTERÍSTICAS GENERALES DE LAS CLASES

ELEMENTOS DE LA POO

Nivel de abstracción alto

La clase permite describir un conjunto de

características comunes para los

objetos que representa.

Instancia de una clase.

Cada objeto concreto dentro, es

miembro de una clase específica y

tiene el conjunto de atributos y métodos especificados en la

misma

Las clases se relacionan entre sí

mediante una jerarquía.

Entre las clases se establecen

diferentes tipos de relaciones de

herencia, en las cuales la clase hija (subclase) hereda

los atributos y métodos de la clase padre (superclase).

Los nombres o identificadores de las clases deben

colocarse en singular (clase

Animal, clase Carro, clase

Alumno).

Page 8: Unidad 3. obj 3.2 Programación Orientada a Objetos

ELEMENTOS DE LA POO

RELACIÓN ENTRE CLASE Y OBJETO

Algorítmicamente, las clases sondescripciones netamenteestáticas o plantillas quedescriben objetos. Su rol esdefinir nuevos tipos conformadospor atributos y operaciones.

Por el contrario, los objetos soninstancias particulares de una clase.Las clases son una especie de moldede fábrica, en base al cual sonconstruidos los objetos. Durante laejecución de un programa sólo existenlos objetos, no las clases.

Page 9: Unidad 3. obj 3.2 Programación Orientada a Objetos

ELEMENTOS DE LA POO

RELACIÓN ENTRE CLASE Y OBJETO

La declaración de una variable de una clase NOcrea el objeto.

La asociación siguiente: <Nombre_Clase><Nombre_Variable>; (por ejemplo, Rectángulo R), nogenera o no crea automáticamente un objetoRectángulo. Sólo indica que R será una referencia ouna variable de objeto de la clase Rectángulo.

La creación de un objeto, debe ser indicadaexplícitamente por el programador, de forma análogaa como inicializamos las variables con un valordado, sólo que para los objetos se hace a través deun método Constructor.

Page 10: Unidad 3. obj 3.2 Programación Orientada a Objetos

Datos o variables que caracterizan al objeto y cuyos valores en un momento dado

indican su estado

Es una característica de un objeto

Definir información oculta dentro de un objeto, la cual es

manipulada solamente por los métodos definidos sobre dicho

objeto

Consta de un nombre y un valor Cada atributo está asociado a un

tipo de dato, ó estructurado (arreglo, registro, archivo, lista,

etc.)

ELEMENTOS DE LA POO

¿ QUE ES UN

ATRIBUTO?

Page 11: Unidad 3. obj 3.2 Programación Orientada a Objetos

ELEMENTOS DE LA POO

SINTAXIS ALGORITMICA DE UN ATRIBUTO

<Modo de Acceso> <Tipo de dato> <Nombre del Atributo>;

Los modos de acceso son:

Público: Atributos (o Métodos) que son accesibles fuera de la clase. Pueden ser

llamados por cualquier clase, aun si no está relacionada con ella. Este modo de

acceso también se puede representar con el símbolo +

Privado: Atributos (o Métodos) que sólo son accesibles dentro de la implementación

de la clase. También se puede representar con el símbolo –

Protegido: Atributos (o Métodos) que son accesibles para la propia clase y sus

clases hijas (subclases). También se puede representar con el símbolo #

Page 12: Unidad 3. obj 3.2 Programación Orientada a Objetos

Constituyen la secuencia de acciones que

implementan las operaciones sobre

los objetos.

La implementación de los métodos no es visible fuera de

objeto.

Operaciones que se aplican sobre los

objetos y que permiten crearlos,

cambiar su estado o consultar el valor de

sus atributos

ELEMENTOS DE LA POO

MÉTODO

Page 13: Unidad 3. obj 3.2 Programación Orientada a Objetos

ELEMENTOS DE LA POO

SINTAXIS ALGORITMICA DE UN MÉTODO

La sintaxis algorítmica de los métodos expresados como funciones y acciones es

Para Funciones

<Modo de Acceso> Función <Nombre> [(Lista Parámetros)]: <Descripción del Tipo de

datos>

Para acciones:

<Modo de Acceso> Acción <Nombre> [(Lista Parámetros)] donde los parámetros son

opcionales

Ejemplo: Un rectángulo es un objeto caracterizado por los atributos Largo y Ancho, y por

varios métodos, entre otros Calcular

su área y Calcular su perímetro.

Page 14: Unidad 3. obj 3.2 Programación Orientada a Objetos

Cada método tiene un nombre, cero o más parámetros (por valoro por referencia) que recibe o devuelve y un algoritmo con eldesarrollo del mismo

En particular se destaca el método constructor, que no es másque el método que se ejecuta cuando el objeto es creado. Es unmétodo que recibe cero o más parámetros y lo usual es queinicialicen los valores de los atributos del objeto.

Las clases se relacionan entre sí mediante una jerarquía.

Entre las clases se establecen diferentes tipos de relaciones de herencia, en las cuales la clase hija (subclase) hereda los atributos y métodos de la clase padre (superclase).

En lenguajes como Java y C++ se puede definir más de unmétodo constructor, que normalmente se diferencian entre sí porla cantidad de parámetros que reciben.

Los métodos se ejecutan o activan cuando el objeto recibe unmensaje, enviado por un objeto o clase externo al que locontiene, o por el mismo objeto de manera local.

CARACTERÍSTICAS GENERALES DE LOS MÉTODOS

ELEMENTOS DE LA POO

Page 15: Unidad 3. obj 3.2 Programación Orientada a Objetos

MENSAJES

ELEMENTOS DE LA POO

Es la petición de un objeto a otro para solicitar la ejecución de alguno de sus métodos o para obtener el valor de un

atributo público

Estructuralmente consta de tres (3) partes:

1.- Identidad del receptor;Nombre del objeto que contiene elmétodo a ejecutar.

2.- Nombre del método aejecutar: Sólo los métodosdeclarados públicos

3.- Lista de Parámetros querecibe el método (cero o másparámetros)

Page 16: Unidad 3. obj 3.2 Programación Orientada a Objetos

SINTAXIS ALGORITMICA DE UN MENSAJE

<Variable_Objeto>.<Nombre_Método> ( [<Lista de Parámetros> ] );

Cuando el objeto receptor recibe el mensaje, comienza la ejecución del

algoritmo contenido dentro del método invocado, recibiendo y/o devolviendo

los valores de los parámetros correspondientes, si los tiene ya que son

opcionales: ([])

ELEMENTOS DE LA POO

Page 17: Unidad 3. obj 3.2 Programación Orientada a Objetos

ATRIBUTOS (ESTADO) COMPORTAMIENTO

(MÉTODOS)

Tipo de avión

Distancia

Altura

Velocidad

Capacidad

País

Acciones ó Funciones:

Calcular posición en el vuelo.

Calcular velocidad de

Vuelo.

Estimar tiempo de llegada.

Page 18: Unidad 3. obj 3.2 Programación Orientada a Objetos

FUNDAMENTOS DE LA POO

•Aislación de un elemento de su contexto.

Define las características esenciales de un

objeto.ABSTRACCIÓN

•Reúne al mismo nivel de abstracción, a todos

los elementos que puedan considerarse

pertenecientes a una misma entidadENCAPSULAMIENTO

•Es la capacidad que da a diferentes objetos, la

posibilidad de contar con métodos,

propiedades y atributos de igual nombre, sin

que los de un objeto interfieran con el de otro.

POLIMORFISMO

•Es la relación existente entre dos o más

clases, donde una es la principal (madre) y

otras son secundarias y dependen (heredan)

de ellas (clases “hijas”), donde a la vez, los

objetos heredan las características de los

objetos de los cuales heredan.

HERENCIA

Page 19: Unidad 3. obj 3.2 Programación Orientada a Objetos

FUNDAMENTOS DE LA POO

•Aislación de un elemento de su contexto.

Define las características esenciales de un

objeto.MODULARIDAD

•Reúne al mismo nivel de abstracción, a todos

los elementos que puedan considerarse

pertenecientes a una misma entidadOCULTACIÓN

(AISLAMIENTO)

•Es la técnica que consiste en destruir

aquellos objetos cuando ya no son

necesarios, liberándolos de la memoria.RECOLECCIÓN DE

BASURA

Page 20: Unidad 3. obj 3.2 Programación Orientada a Objetos

REFLEXIÓN