Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 38

PROGRAMACIN

ORIENTADA A
OBJETOS

Definicin:
La programacin Orientada a Objetos es una
metodologa 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. Ms que describir cada objeto
individualmente, estos lenguajes proveen una
construccin (Clase) que describe a un conjunto de
objetos que poseen las mismas propiedades.

Lo que caracteriza a la POO es que intenta llevar al


mundo del cdigo lo mismo que encontramos en El
Mundo Real.
Cuando miramos a nuestro alrededor qu vemos?
pues, cosas, objetos, pero podemos reconocer estos
objetos porque cada objeto pertenece a una clase,
eso nos permite distinguir, por ejemplo, un perro de un
auto (porque son de clases diferentes) y tambin un
TV de otro (porque, aunque sean iguales, cada uno
es un objeto distinto). ste es el modelo que la POO
intenta seguir para estructurar un sistema.

Caractersticas de la
P.O.O:
No hay un acuerdo aceptado por todo el mundo
respecto a cules son las caractersticas que definen
la POO, pero al menos todos concuerdan en estas:
1. Abstraccin.
2. Encapsulacin.
3. Herencia.
4. Polimorfismo.

Abstraccin:
Cuando vamos a aplicar la POO, lo primero que debemos
hacer es cumplir con una vieja mxima de guerra: Divide y
Vencers. Es decir, lo que hacemos es seccionar nuestro
cdigo en grupos de cdigo ms pequeo que, al unirlos,
hacen el trabajo.
Un buen ejemplo de abstraccin es el cuerpo humano,
aunque el cuerpo es una unidad, est dividido en lo que
conocemos por sistemas (el sistema respiratorio, el sistema
linftico, cardiovascular, etc., etc.). Estos sistemas, a su vez
estn compuestos por otros ms pequeos: los rganos, y
as sucesivamente. La abstraccin nos permite dividir
nuestro programa en distintos objetos que se agrupan
para formar cosas ms complejas.
Pero qu es realmente la abstraccin? Bsicamente es la
capacidad de separar los elementos (al menos
mentalmente) para poder verlos de forma singular. Como
cuando describimos el cuerpo humano y decimos cabeza,
brazo(s), pierna(s), etc.

Encapsulacin:
Tambin conocida como ocultamiento. Cuando me
acuesto a ver televisin no me preocupo del modo
como ste funciona, o lo que hace para cambiar de
canal o aumentar el volumen. A menos que seas
experto en electrnica o tcnico en televisores, te
pasar lo mismo: no lo sabes y no te importa; slo
sabes que al presionar un botn ocurre la magia.
Un principio fundamental de la POO es la ocultacin
de la informacin, que es el proceso de ocultar
dentro de s mismo, todos los secretos de un objeto,
que no contribuyen a sus caractersticas esenciales.

Herencia:
Uno de los elementos ms interesantes de la P.O.O. La herencia
es la capacidad que tiene una clase de derivar las propiedades y
mtodos de otra.
Tratemos de explicarlo con un ejemplo:
Decimos que una gallina es un ave; esto quiere decir que las
gallinas tienen caractersticas comunes con otras aves (pico,
plumas, etc.), es decir que la gallina hereda las caractersticas
comunes de todas las aves. Pero adems, resulta que un ave es
un animal, lo que significa que tambin comparte caractersticas
comunes al caballo, el perro, el hombre y cualquier otra cosa
que pueda ser clasificada como animal.
La herencia nos permite, entre otras cosas, evitar tener que
escribir el mismo cdigo una y otra vez, puesto que al definir que
una categora (que en programacin llamaremos clase)
pertenece a otra, automticamente estamos atribuyndoles las
caractersticas generales de la primera, sin tener que definirlas de
nuevo.

Herencia:

Polimorfismo:
Quiz es uno de los pilares de la programacin OO,
ms difciles de entender. El polimorfismo se aplica en
los mtodos y se refiere a que el mismo mtodo
puede ser usado para diferentes fines segn se
necesite.
El polimorfismo es esencial para la programacin
orientada a objetos, ya que permite usar elementos
con los mismos nombres, sin importar qu tipo de
objeto est en uso en ese momento.

Polimorfismo:
EJEMPLO:
Tomemos Medios de Transportes: barco, avin y auto.
Si les enviamos el mensaje Desplzate, cada uno de
estos objetos los har a su manera.

Polimorfismo:
EJEMPLO 2:
Pensemos en las Figuras Geometricas. Todas las
Figuras Geometricas tienen como caracterstica el
poder calcular su rea. Sin embargo, cada figura
puede realizar esta operacin de forma distinta.

Conceptos Bsicos OO
OBJETO
Es una entidad (tangible o intangible) que posee caractersticas
y acciones que realiza por s solo o interactuando con otros
objetos.
Cada objeto puede ser considerado como un proveedor de
servicios utilizados por otros objetos que son sus clientes. Cada
objeto puede ser a al vez proveedor y cliente. De all que un
programa pueda ser visto como un conjunto de relaciones entre
proveedores clientes. Los servicios ofrecidos por los objetos son
de dos tipos:
1.- Los datos, que llamamos atributos.
2.- Las acciones o funciones, que llamamos mtodos.

Objeto. Caractersticas
Generales:
Un objeto se identifica por un nombre o un identificador
nico que lo diferencia de los dems. Ejemplo: el objeto
Cuenta de Ahorros nmero 12345 es diferente al objeto
Cuenta de Ahorros nmero 25789. En este caso el
identificador que los hace nicos es el nmero de la
cuenta.
Un objeto posee estados. El estado de un objeto est
determinado por los valores que poseen sus atributos en
un momento dado.
Un objeto tiene un conjunto de mtodos. El
comportamiento general de los objetos dentro de un
sistema se describe o representa mediante sus
operaciones o mtodos. Los mtodos se utilizarn para
obtener o cambiar el estado de los objetos, as como
para proporcionar un medio de comunicacin entre
objetos.

Un objeto tiene un conjunto de atributos. Los atributos


de un objeto contienen valores que determinan el
estado del objeto durante su tiempo de vida. Se
implementan con variables, constantes y estructuras de
datos (similares a los campos de un registro).
Los objetos soportan encapsulamiento. La estructura
interna de un objeto normalmente est oculta a los
usuarios del mismo. Los datos del objeto estn
disponibles solo para ser manipulados por los propios
mtodos del objeto. El nico mecanismo que lo
conecta con el mundo exterior es el paso de mensajes.
Un objeto tiene un tiempo de vida dentro del programa
o sistema que lo crea y utiliza. Para ser utilizado en un
algoritmo el objeto debe ser creado con una instruccin
particular (New Nuevo) y al finalizar su utilizacin es
destruido con el uso de otra instruccin o de manera
automtica.

Clase

Clase
La tendencia natural del individuo es la de clasificar
los objetos segn sus caractersticas comunes (clase).
Por ejemplo, las personas que asisten a la universidad
se pueden clasificar (haciendo abstraccin) en
estudiante, docente, empleado e investigador.
La clase puede definirse como la agrupacin o
coleccin de objetos que comparten una estructura
comn y un comportamiento comn.
Es una plantilla que contiene la descripcin general
de una coleccin de objetos. Consta de atributos y
mtodos que resumen las caractersticas y el
comportamiento comunes de un conjunto de
objetos.

Clase
Todo objeto (tambin 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
abstraccin.
Todos aquellos objetos que pertenecen a la misma
clase son descritos o comparten el mismo conjunto
de atributos y mtodos.
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.

Clase. Caractersticas
Generales
Una clase es un nivel de abstraccin alto. La clase
permite describir un conjunto de caractersticas
comunes para los objetos que representa. Ejemplo: La
clase Avin se puede utilizar para definir los atributos
(tipo de avin, distancia, altura, velocidad de crucero,
capacidad, pas de origen, etc.) y los mtodos (calcular
posicin en el vuelo, calcular velocidad de vuelo,
estimar tiempo de llegada, despegar, aterrizar, volar,
etc.) de los objetos particulares Avin que representa.
Un objeto es una instancia de una clase. Cada objeto
concreto dentro de un sistema es miembro de una clase
especfica y tiene el conjunto de atributos y mtodos
especificados en la misma

Clase. Caractersticas
Generales
Las clases se relacionan entre s mediante una
jerarqua. Entre las clases se establecen diferentes
tipos de relaciones de herencia, en las cuales la
clase hija (subclase) hereda los atributos y mtodos
de la clase padre (superclase), adems de
incorporar sus propios atributos y mtodos.
Ejemplos, Superclase: Clase Avin
Subclases de Avin: Clase Avin Comercial, Avin de
Combate, Avin de Transporte
Los nombres o identificadores de las clases deben
colocarse en singular (clase Animal, clase Carro,
clase Alumno).

Clase

Cuando un atributo consta de una sola palabra, este se escribe en


minsculas, pero si es de 2 o ms palabras, la primera es en minsculas y
las dems en maysculas

Ejemplos de clases
Imaginemos un objeto del mundo real tal como un
carro. El carro tiene ciertas caractersticas: Color,
Peso, Altura, Anchura, Posicin, Marca
Tiene comportamientos (mtodos): avanzar, giro a la
izquierda, giro a la derecha, retroceder.

Nombre de la clase: Lavadora


Atributos de la Clase: Cuando un atributo consta
de una sola palabra, este se escribe en minsculas,
pero si es de 2 o ms palabras, la primera es en
minsculas y las dems en maysculas as:
1. marca
2. modelo
3. numeroSerie
Procedimientos o mtodos: Se utiliza la misma
particularidad de los atributos pero finalizando con
parntesis.

clase: Lavadora

Declaracin de Clases y
mtodos
private (Privada): Indica que el atributo o el
mtodo no puede ser visto y utilizado por objetos
de clases diferentes a la actual.
public (Pblica): Indica que el atributo o el mtodo
puede ser visto y utilizado por objetos de clases
diferentes a la actual.
protected (Protegida): Esta visibilidad hace
referencia a estructuras con herencia, slo es visible
por ella misma y por sus subclases.

Tipos de datos
Indican la naturaleza de los datos
Que se pasan como parmetro o que devuelven los
mtodos
De los atributos de los objetos.
Hay algunos bsicos (dependen del lenguaje de
programacin)
int
boolean
double
String
date

Taller
Mediante las clases dadas hacer el esquema de
clases correspondiente a cada una. Deben haber por
lo menos 5 atributos y mtodos con sus respectivos
tipo de datos.
Clases: Rectngulo, circulo, bicicleta, estudiante,
cliente, producto, libro, planeta, celular, persona,
cmara, avin, computador.

Propiedades, Mtodos y
Eventos de la clase:
Decamos antes que las propiedades son realmente variables dentro de la
clase, pero para poder controlar qu puede cambiar o no el usuario de la
clase, si los valores son correctos, etc. hacemos uso de unas funciones
especiales para definir propiedades: get y set.

get permite al usuario recuperar el valor de la propiedad, leerlo, por lo


que su salida debe ser correspondiente con la que se espera de la
propiedad (por ejemplo, no tendra sentido que la propiedad nombre
del ejemplo devolviese un nmero). Si slo creamos una funcin get
para una propiedad, sta es de slo lectura.
set es usado para darle un valor a la propiedad, normalmente se
aaden aqu los controles para asegurarse que el valor que se asigna
es del tipo deseado (y evitar que la clase colapse por un error de tipo
de datos). La funcin de set, al ser para escribir en la propiedad no
devuelve ningn tipo de datos, pero debe tener un parmetro que es el
valor que se pasar a la variable. Al contrario de get, no puede haber
una clase de slo escritura (despus de todo, no tiene ningn sentido
tener una propiedad a la que se le pueda asignar un valor pero este no
pueda ser recuperado).

Mensajes
Un objeto por si solo no tiene mucho significado. Ejemplo: el objeto
"bicicleta" no tiene mucho sentido si no interacta con un objeto
"persona" que pedalee.
La interaccin entre objetos se produce mediante mensajes. Los
mensajes son llamados a mtodos de un objeto en particular.
Podemos decir que el objeto persona enva el mensaje "girar a la
izquierda" al objeto bicicleta.
Los mensajes pueden contener parmetros. Por ejemplo teniendo
un mtodo en la clase bicicleta llamado "Girar" que recibe como
parmetro la direccin (derecha o izquierda).
Un mensaje esta compuesto por los siguientes tres elementos:
El objeto destino, hacia el cual el mensaje es enviado
El nombre del mtodo a llamar
Los parmetros solicitados por el mtodo

Creacin de Objetos y
Mtodos Constructores:
Cada objeto o instancia de una clase debe ser
creada explcitamente a travs de un mtodo u
operacin especial denominado Constructor. Los
atributos de un objeto toman valores iniciales dados
por el constructor. Por convencin el mtodo
constructor tiene el mismo nombre de la clase y no se
le asocia un modo de acceso (es pblico).
Algunos lenguajes proveen un mtodo constructor
por defecto para cada clase y/o permiten la
definicin de ms de un mtodo constructor.

Mtodo de Destructores
de objetos:
Los objetos que ya no son utilizados en un programa,
ocupan intilmente espacio de memoria, que es
conveniente recuperar en un momento dado. Segn el
lenguaje de programacin utilizado esta tarea es dada al
programador o es tratada automticamente por el
procesador o soporte de ejecucin del lenguaje.
En la notacin algortmica NO tomaremos en cuenta ese
problema de administracin de memoria, por lo tanto no
definiremos formas para destruir objetos. En cambio al
utilizar lenguajes de programacin si debemos conocer los
mtodos destructores suministrados por el lenguaje y
utilizarlos a fin de eliminar objetos una vez no sean tiles.

También podría gustarte