Programación Orientada Objetos Conceptos de la POO.

24
Programación Orientada Objetos Conceptos de la POO

Transcript of Programación Orientada Objetos Conceptos de la POO.

Page 1: Programación Orientada Objetos Conceptos de la POO.

Programación Orientada Objetos

Conceptos de la POO

Page 2: Programación Orientada Objetos Conceptos de la POO.

Conceptos POO

IPOO

Características de un objeto

Nombre: como se llama el objetoInterfase : funcionalidad, comportamiento.Estado interno: datos internos o atributos.

La Programación Orientada a Objetos

El Paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora.

Que es un Objeto?Un objeto representa alguna entidad de la vida real, es decir, al problema con el que nos estamos enfrentando, y con los que podemos interactuar

Page 3: Programación Orientada Objetos Conceptos de la POO.

Conceptos POO

IPOO

empleado1Empleado

nombre=“María”apellido=“Gómez”sexo=“femenino”salario=2.500.000

calcularEdad()calcularSueldo()

Estado interno

Interface

Nombre

Características de un objeto – Diagrama de Objeto

Page 4: Programación Orientada Objetos Conceptos de la POO.

Conceptos POO

IPOO

bombilloPhilips:Bombillo

da_Luz=“si”marca=“philipscolorLuz=“blanca”

prender()apagar()

Estado interno

Interface

Nombre (al lado se coloca la clase a la cual pertenece el objeto)

Características de un objeto- Diagrama de Objeto

Page 5: Programación Orientada Objetos Conceptos de la POO.

Conceptos POO

IPOO

biciJuan:Bicicleta

kmRecorridos=100coorX=30coordY=50

pedalear()frenar()saltar()

Estado interno

Interface

Nombre

Características de un objeto- Diagrama de Objeto

Page 6: Programación Orientada Objetos Conceptos de la POO.

Conceptos POO

IPOO

rectanguloA:Rectangulo

ancho=10alto=20

calcularArea()calcularPerimetro()dibujar()

Estado interno

Interface

Nombre

Características de un objeto rectanguloA Diagrama de Objeto

Page 7: Programación Orientada Objetos Conceptos de la POO.

Conceptos POO

IPOO

Atributos: Son los datos o variables que caracterizan al objeto y cuyos valores en un momento dado indican su estado.

Métodos: Son las operaciones (acciones o funciones) que se aplican sobre los objetos y que permiten crearlos, cambiar su estado o consultar el valor de sus atributos

Page 8: Programación Orientada Objetos Conceptos de la POO.

Conceptos POO

IPOO

Mensajes: Forma en que los objetos interactúan. Tras la recepción de un mensaje el objeto actuará. La acción puede ser el envío de otros mensajes, el cambio de su estado, o la ejecución de cualquier otra tarea que se requiera que haga el objeto. 

El objeto persona envía el mensaje "girar a la izquierda" al objeto bicicleta.

Page 9: Programación Orientada Objetos Conceptos de la POO.

Conceptos POO

IPOO

La claseAgrupació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

Todos los objetos de una clase tienen los mismos atributos y comportamiento, son diferentes únicamente en los valores que contienen sus atributos.

Page 10: Programación Orientada Objetos Conceptos de la POO.

Conceptos POO

IPOO

Representación de la Clase Rectangulo

ancho=15largo=25

calcularArea()calcularPerimetro()dibujar()

rectanguloA:Rectangulo

ancho=10largo=20

calcularArea()calcularPerimetro()dibujar()

rectanguloB:Rectangulo

Representación del objeto rectanguloA y rectanguloB

Page 11: Programación Orientada Objetos Conceptos de la POO.

Conceptos POO

IPOO

Representación de la Clase Empleado

empleado1:Empleado

nombre=“Maria”apellido=“Gómez”Sexo=“Femenino”Salario=1500000

calcularEdad()calcularSueldo()

empleado2:Empleado

calcularEdad()calcularSueldo()

Representación de los objetos empleado1 y empleado2

nombre=“José”apellido=“Ruiz”Sexo=“Masculino”Salario=1600000

Page 12: Programación Orientada Objetos Conceptos de la POO.

Conceptos POO

IPOO

Todos los objetos con el mismo estado interno e interfase se agrupan en una clase.

Las clases son para los objetos lo que los tipos para los datos primitivos. Ejemplo:

string dia_del_mesnombre

Empleadoempledo1 empleado2 empledo3

Tipo de datos

Datos

Tipo de objetos (clase)

objetos

Page 13: Programación Orientada Objetos Conceptos de la POO.

Relaciones entre clases

IPOO

Las clases no se construyen para que trabajen de manera aislada, la idea es que ellas se puedan relacionar entre sí, de manera que puedan compartir atributos y métodos sin necesidad de rescribirlos.

La jerarquías entre las clases permite extender y reutilizar el código existente sin tener que rescribirlo cada vez que se necesite.

Los cuatro tipos de relaciones entre clases estudiados en este curso serán:

• Herencia (Generalización / Especialización o Es-un) • Agregación (Todo / Parte o Forma-parte-de) • Composición (Es parte elemental de) • Asociación (entre otras, la relación Usa-a)

Page 14: Programación Orientada Objetos Conceptos de la POO.

Relaciones entre clase

IPOO

Relación de Herencia (Generalización / Especialización, Es un) Es un tipo de jerarquía de clases, en la que cada subclase contiene los atributos y métodos de una (herencia simple) o más superclases (herencia múltiple).

Page 15: Programación Orientada Objetos Conceptos de la POO.

Relaciones entre clases

IPOO

Relación de Agregación (Todo / Parte, Forma parte de) Es una relación que representa a los objetos compuestos por otros objetos. Indica Objetos que a su vez están formados por otros. El objeto en el nivel superior de la jerarquía es el todo y los que están en los niveles inferiores son sus partes o componentes.

Los puntos forman parte del polígono

Page 16: Programación Orientada Objetos Conceptos de la POO.

Relaciones entre clases

IPOO

Relación de Agregación (Todo / Parte, Forma parte de) Es una relación que representa a los objetos compuestos por otros objetos. Indica Objetos que a su vez están formados por otros. El objeto en el nivel superior de la jerarquía es el todo y los que están en los niveles inferiores son sus partes o componentes.

Los trabajos forman parte de la cola de impresión

Page 17: Programación Orientada Objetos Conceptos de la POO.

Relaciones entre clases

IPOO

Relación de Composición Un componente es parte esencial de un elemento. Si el componente es eliminado o desaparece, la clase mayor deja de existir.

Page 18: Programación Orientada Objetos Conceptos de la POO.

Relaciones entre clases

IPOO

Relación de Asociación («uso», usa, cualquier otra relación)Es una asociación que se establece cuando dos clases tienen una dependencia de utilización, es decir, una clase utiliza atributos y/o métodos de otra para funcionar

recarga

Page 19: Programación Orientada Objetos Conceptos de la POO.

Relaciones entre clases

IPOO

Page 20: Programación Orientada Objetos Conceptos de la POO.

Relaciones entre clases

IPOO

Ejemplo relaciones entre clases al realizar una orden en un restaurante

Page 21: Programación Orientada Objetos Conceptos de la POO.

Otros conceptos de la POO

IPOO

Encapsulación: los objetos muestran hacia afuera una interfase, pero ocultan la implementación y el estado interno.

Page 22: Programación Orientada Objetos Conceptos de la POO.

Otros conceptos de la POO

IPOO

Abstracción: Es el principio de ignorar aquellos aspectos de un fenómeno observado que no son relevantes, con el objetivo deconcentrarse en aquellos que si lo son.

Page 23: Programación Orientada Objetos Conceptos de la POO.

Otros conceptos de la POO

IPOO

Polimorfismo: una interfaz, varias implementaciones.

Una persona puede realizar una llamada telefónica de diferentes formas.

Page 24: Programación Orientada Objetos Conceptos de la POO.

Otros conceptos de la POO

IPOO

Un programa OO es una colección de objetos diciéndose unos a otros lo que deben hacer por medio de paso de mensajes.

Cada objeto tiene su propia zona privada (estado interno), posiblemente conteniendo otros objetos.

Cada objeto es de un tipo (clase). Las clases agrupan objetos que manejan (reciben) el mismo tipo de mensajes.

Cada objeto tiene una interfase, que define el tipo de mensajes que puede recibir. A su vez, cada objeto tiene una implementación oculta para el resto del mundo.