3. Durante años, los programadores se han dedicado a construir aplicaciones
muy parecidas que resolvían una y otra vez los mismos problemas. Para
conseguir que los esfuerzos de los programadores puedan ser utilizados
por otras personas se creó la POO. Que es una serie de normas de realizar
las cosas de manera que otras personas puedan utilizarlas y adelantar su
trabajo, de manera que consigamos que el código se pueda reutilizar.
La POO no es difícil, pero es una manera especial de pensar, a veces
subjetiva de quien la programa, de manera que la forma de hacer las cosas
puede ser diferente según el programador. Aunque podamos hacer los
programas de formas distintas, no todas ellas son correctas, lo difícil no es
programar orientado a objetos sino programar bien.
Programar bien es importante porque así nos podemos aprovechar de
todas las ventajas de la POO.
4. La programación Orientada a objetos (POO) es una forma especial de programar,
más cercana a como expresaríamos las cosas en la vida real que otros tipos de
programación.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para
escribir nuestros programas en términos de objetos, propiedades, métodos
En la POO todo es representado como un objeto.
5. 1.- CLASE
Las clases son declaraciones de objetos, también se
podrían definir como abstracciones de objetos. Esto
quiere decir que la definición de un objeto es la clase.
Cuando programamos un objeto y definimos sus
características y funcionalidades en realidad lo que
estamos haciendo es programar una clase.
Dicho de otra manera, son plantillas o modelos para
crear objetos.
6. 1.- CLASE
Cada clase tiene asociado un código (definición de la
clase), que determina
◦ Los atributos que tienen los objetos de la clase
◦ Los métodos que pueden ejecutar los objetos de la clase y cómo
lo hacen
Programar orientado a objetos consiste en escribir
código de clases de objetosCaracterísticas
•Color
•Raza
•Sexo
Comportamiento (Métodos)
•Come
•Ladra
•Juega
CLASE PERRO
7. 1.- CLASE
Un objeto creado a partir de una determinada
clase se denomina una INSTANCIA de esa clase.
De cada clase pueden crearse múltiples objetos
(múltiples instancias)
Cada objeto tiene valores propios asignados a los
atributos: estado del objeto
8. 1.- CLASE
ATRIBUTOS
Valores o características de los objetos
Permiten definir el estado del objeto u otras cualidades
RAZA
SEXO
COLOR
EDAD
PESO
CONSTANTES
VARIABLES
9. 1.- CLASE
METODOS
Acciones que puede realizar un objeto
Los métodos pueden devolver un valor al acabar su
ejecución
◦ Valor de retorno COME
DORMIR
LADRA (TIPODEPERSONA)
JUEGA(TIPODEJUGUETE)
METODO
PARAMETROS
10. 2.- OBJETOS
Es una unidad dentro de un programa que posee
un estado (atributos o características) y de un
comportamiento (funciones), que a su vez consta
respectivamente de datos almacenados y de
tareas realizables durante el tiempo de ejecución.
11. 2.- OBJETOS
Representan un tipo particular de objetos
◦ Objetos con características y comportamiento similar
◦ Categorías de objetos
OBJETOS DE LA
CLASE PERRO
12. 2.- OBJETOS
Los objetos son/representan cosas.
Los objetos pueden ser simples o complejos
Los objetos pueden ser reales o imaginarios
13. 2.- OBJETOS
MENSAJES
Los objetos se comunican e interaccionen entre sí por medio de
mensajes
Si un objeto desea que otro objeto haga algo le envía un mensaje
que puede tener información adicional en forma de parámetros
Cuando un objeto recibe un mensaje ejecutará un método u
operación
Componentes de un mensaje
•Objeto destinatario del mensaje (MIPERRO)
•Método que se debe ejecutar como respuesta (LADRAR)
•Parámetros necesarios del método (TIPOPERSONA)
14. ABSTRACCION
Abstracción es un término del mundo real que
podemos aplicar tal cual lo entendemos en el
mundo de la Programación Orientada a Objetos.
Algo abstracto es algo que está en el universo de
las ideas, los pensamientos, pero que no se
puede concretar en algo material, que se pueda
tocar.
15. ABSTRACCION
Acción de aislar mentalmente o considerar por
separado las cualidades de un objeto, considerar
un objeto en su esencia.
Se extraen cualidades principales sin detenerse
en el detalle
QUE HACE EL OBJETO???
17. MODULARIDAD
Es la propiedad que permite subdividir una aplicación en
partes más pequeñas (llamadas módulos), cada una de
las cuales debe ser tan independiente como sea posible
de la aplicación en sí y de las restantes partes.
Dividir un programa en componentes individualizados
reduce en alguna manera su complejidad.
OBJETO
MIPERRO
MODULOS
SALTAR()
CORRER()
ARRASTRAR()
18. ENCAPSULAMIENTO
Se denomina al ocultamiento del estado, es decir, de los
datos miembro de un objeto de manera que sólo se
pueda cambiar mediante las operaciones definidas para
ese objeto.
Se conoce también como ocultamiento o privacidad de
la información, el objeto A no conoce los que hace el
objeto B, ni viceversa.
Combinación de datos y métodos que manejan dichos
datos en un único objeto.
19. HERENCIA
Es cuando una clase nueva se crea a partir de una clase
existente. La herencia (a la que habitualmente se
denomina subclases) proviene del hecho de que la
subclase (la nueva clase creada) contiene las atributos y
métodos de la clase primaria.
La principal ventaja de la herencia es la capacidad para
definir atributos y métodos nuevos para la subclase, que
luego se aplican a los atributos y métodos heredados.
20. POLIMORFISMO
Se refiere a la propiedad por la que es posible
enviar mensajes sintácticamente iguales
a objetos de tipos distintos. El único requisito que
deben cumplir los objetos que se utilizan de
manera polimórfica es saber responder al
mensaje que se les envía.MENSAJE
JUGAR(PELOTA)
OBJETOS