Poo

Post on 12-Jul-2015

609 views 0 download

Transcript of 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

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).

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

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.

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.).

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

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

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.

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.

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)

Objeto: Cuenta Ahorro

número titular

fecha_apertura saldo

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).

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.

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.

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.

interacción

Girar (izquierda) Girar (derecha)

Mensaje (método)

Objeto persona

Objeto bicicleta

Mensaje (método)

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

“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

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.