Poo

20

Transcript of Poo

Page 1: Poo
Page 2: Poo

¿Qué es la programación orientada a Objetos?

Objetos

Clases

Objetos frente a clases

Mensajes

Pilares fundamentales de la Programación Orientada a Objetos

Page 3: Poo

La Programación Orientada a Objetos es un nuevo paradigma o modelo de programación.

La Programación Orientada a Objetos se basa en la idea natural de la existencia de un mundo lleno de objetos, de modo que la resolución del problema se realiza en términos de objetos. Estos objetos poseen características (atributos) y tienen un comportamiento (métodos).

Page 4: Poo

En el ámbito de la programación, un programa orientado a objetos está constituido por un conjunto de objetos interactuando conjuntamente a través del paso de mensajes, los cuales permiten hacer la entrada de datos, los cálculos necesarios para resolver el problema y dar la salida de datos, convertidos en la información solicitada.

objeto 1 objeto 2

objeto 3 objeto 4 objeto 5

objeto 6 objeto 7

Page 5: Poo

En el mundo real, las personas identifican los objetos como las cosas que pueden ser percibidas por los cinco sentidos. Por ejemplo: Una computadora, un teléfono celular, un árbol, un perro o un automóvil.

Los objetos tienen características específicas tales como tamaño, color, forma, textura, etc. y también tienen ciertos comportamientos que los hacen diferentes a otros objetos.

Page 6: Poo

Ejemplos:

Los automóviles tienen características o atributos (marca, modelo, año, color, capacidad, placa, volante, acelerador, frenos, switchera, palanca de cambios etc.) y comportamiento (encender, arrancar, acelerar, retroceder, cruzar izquierda, cruzar derecha, detenerse).

Los ratones (mouses) tienen características o atributos (botones, rueditas, sensor óptico, etc.) y comportamiento (avanzar, retroceder, girar, seleccionar, etc.).

Page 7: Poo

Un objeto posee:

Estado, Comportamiento, Identidad.

Un objeto posee estado

El estado de un objeto se refiere al conjunto de los valores de sus atributos en un instante de tiempo dado. El comportamiento de un objeto puede modificar el estado de este.

Atributos

Edad: 35 Peso: 70 kg.

Altura: 1.60 mts. Domicilio: Calle Falsa 123

Titulo: Doctora

Dra. Juanita Pérez

Page 8: Poo

Un objeto posee Comportamiento

El comportamiento de un objeto está determinado por las operaciones que éste puede realizar en respuesta a mensajes (peticiones), que le son enviados por otros objetos.

Se implementa mediante métodos.

Cumpleaños Comer Cambiar de Domicilio

Page 9: Poo

Un objeto posee Identidad:

La identidad es la propiedad que permite a un objeto diferenciarse de otros.

Cada objeto es único en el mundo por más que haya otro objeto con iguales atributos. Por ejemplo, cada Dra. tiene su propia identificación.

Page 10: Poo

Los Objetos de Software, al igual que los objetos del mundo real, también tienen características y comportamientos.

Un objeto de software mantiene sus características en una o más "variables" o “atributos” e implementa su comportamiento con "métodos". Un método es una función o subrutina asociada a un objeto.

Un objeto en POO, representa alguna entidad de la vida real, es decir, alguno de los objetos que pertenecen al negocio con que estamos trabajando o al problema con el que nos estamos enfrentando.

Page 11: Poo

Criterios para clasificar objetos en POO:

Cosas tangibles (mesa, carro, avión)

Organizaciones (empresa, departamentos, divisiones)

Incidentes (representa un suceso, por ejemplo: vuelo, accidente, transacción)

Papeles o roles (cliente, empleado, médico)

Interacciones (compras, ventas)

Lugares (ciudad, muelle de carga, sala de embarque)

Page 12: Poo

Objeto: Cuenta Ahorro

número titular

fecha_apertura saldo

Page 13: Poo

Una clase define las características y comportamientos comunes, compartidos por un grupo de objetos.

En otras palabras, una clase representa a un conjunto de objetos que tienen en común las mismas características (atributos) y el mismo comportamiento (métodos).

Page 14: Poo

En el mundo real existen objetos del mismo tipo, por ejemplo tu cuenta de ahorro en un banco, es solo una más de todas las cuentas de ahorro del banco.

Al referirse a una cuenta en particular, por ejemplo, tu cuenta de ahorro, se puede decir que ella es un objeto de la clase “Cuenta_Ahorro”.

Todas las cuentas de ahorro tienen los atributos: número, titular, fecha apertura, saldo y algunos métodos como son: Aperturar, Depositar, Retirar y Cerrar. Por lo tanto, se puede definir la clase “Cuenta_Ahorro”, que describe los atributos y comportamiento de todas las cuentas.

Page 15: Poo

Las clases son modelos o plantillas que describen como se construyen uno o más objetos del mismo tipo.

Cada vez que se construye un objeto de una clase, se crea una instancia de esa clase ("instance“), por lo tanto, una clase puede tener muchas instancias y cada una es un objeto diferente.

Un objeto es un simple elemento. Una clase, por el contrario, describe una familia de elementos similares.

Cuando programamos un objeto y definimos sus características y funcionalidades, en realidad lo que se esta haciendo, es programando una clase.

Page 16: Poo

Un mensaje está compuesto por los siguientes tres elementos:

El objeto receptor, hacia el cual el mensaje es enviado.

El nombre del método que el objeto receptor del mensaje ejecutará.

Cualquier información adicional requerida por el objeto receptor para ejecutar el método solicitado (parámetros).

Los objetos se activan mediante la recepción de mensajes.

La interacción entre objetos se produce mediante mensajes. Un mensaje es una petición dirigida a un objeto, que le ordena que ejecute uno de sus métodos.

Page 17: Poo

interacción

Girar (izquierda) Girar (derecha)

Mensaje (método)

Objeto persona

Objeto bicicleta

Mensaje (método)

Page 18: Poo

Ocu

ltam

ien

to d

e D

ato

s

Ab

stra

cció

n

En

cap

sula

mie

nto

Here

nci

a

POO

Po

lim

orf

ism

o

Page 19: Poo

“Técnica que permite reconocer los elementos esenciales para la solución de un problema dejando al lado los detalles irrelevantes”.

La abstracción consiste en captar las características esenciales de un objeto, así como su comportamiento, al tiempo que se ignoran los detalles no esenciales.

El encapsulamiento es la propiedad que permite agrupar juntos en una única unidad de programación, las características (atributos) y comportamiento (métodos) de un objeto. En POO, las clases son las unidades de programación que encapsulan atributos y métodos.

Abstracción

Encapsulamiento

Page 20: Poo

Es la propiedad que permite definir nuevas clases a partir de una clase base ya existente. Las nuevas clases creadas se denominan clases derivadas (clases hijos ó subclases) y heredan los atributos y métodos de la clase base (clase padre ó superclase), además, estas clases derivadas pueden tener otros atributos y métodos propios, adicionales.

Es una propiedad que permite que diversos objetos respondan de modo diferente al mismo mensaje.

Ocultación de datos

Polimorfismo

Herencia

Los atributos (datos) de un objeto deben ser privados, es decir, no pueden ser modificados ni obtenidos por otros objetos, solamente pueden ser manipulados por los propios métodos internos del objeto.