Vous êtes sur la page 1sur 5

Conceptos bsicos de

Programacin Orientada a Objetos:


Objeto:
Se trata de un ente abstracto usado en programacin que permite separar los diferentes componentes de
un programa, simplificando as su elaboracin, depuracin y posteriores mejoras.
Los objetos integran, a diferencia de los mtodos procedurales, tanto los procedimientos como las
variables y datos referentes al objeto.
A los objetos se les otorga ciertas caractersticas en la vida real. Cada parte del programa que se desea
realizar es tratado como objeto, siendo as estas partes independientes las unas de las otras.Los objetos
se componen de 3 partes fundamentales: metodos, eventos y atributos.
Mtodos:
Son aquellas funciones que permite efectuar el objeto y que nos rinden algn tipo de servicio durante el
transcurso del programa.
Determinan a su vez como va a responder el objeto cuando recibe un mensaje.
Eventos:
Son aquellas acciones mediante las cuales el objeto reconoce que se est interactuando con l.
De esta forma el objeto se activa y responde al evento segn lo programado en su cdigo.
Atributos:
Caractersticas que aplican al objeto solo en el caso en que el sea visible en pantalla por el usuario;
entonces sus atributos son el aspecto que refleja, tanto en color, tamao, posicin, si est o no
habilitado.
Ejemplo de objeto: un coche.
Se considera un coche un objeto, totalmente diferenciado del alquitrn donde est aparcado.
Sus atributos son su color, marca, modelo, nmero de matrcula, nmero de puertas,...
Sus eventos todos aquellas acciones por las cuales si el coche tuviera vida propia reconocera que le
estamos dando un uso, como abrir la puerta, girar el volante, embragar, abrir el capot, ....
Los mtodos son todo aquello que nos ofrece el coche como hacer sonar una bocina cuando tocamos el
claxon (evento), llevarnos por la carretera, reducir la velocidad al pisar el freno (evento), ...
Mensajes:
Aunque los objetos se han de diferenciar claramente en una aplicacin, estos se han de poder
comunicar para poder trabajar en conjunto y construir as aplicaciones.
Esto se hace posible a travs de lo que se denomina paso de mensajes. Cuando un objeto quiere

comunicarse con otro lo que hace es enviarle un mensaje con los datos que desea transmitir.
En el simil del coche, al apretar el claxon, el objeto claxon enva un mensaje a la bocina indicndole
que haga sonar cierto sonido.
La potencia de este sistema radica en que el objeto emisor no necesita saber la forma en que el objeto
receptor va a realizar la accin. Simplemente este la ejecuta y el emisor se desentiende del como; de
hecho ni le importa, solo tiene conocimiento de que se est realizando.
Para que todo esto sea posible es necesario una buena programacin de los eventos y de los mtodos de
cada objeto.
El conjunto de mensajes a los que un objeto puede responder se denomina protocolo del objeto.
Instancia:
Se llama instancia a todo objeto que derive de algn otro. De esta forma, todos los objetos son
instancias de algn otro, menos la clase Object que es la madre de todas.
Clases: Descripcin de de objeto. Consta de una serie de mtodos y datos que resumen las
caractersticas de este objeto. Definir clases permite trabajar con cdigo reutilizable. Puesto que desde
una clase se puede crear una instancia y as reutilizar el cdigo escrito para esta si tener que volver a
escribir el cdigo para la instancia. La instancia toma el patrn de la clase padre. Sin embargo, las
variables son idependientes.
Herencia:
Mecanismo para compartir automticamente mtodos y datos entre classes, subclases y objetos.
Permite crear nuevas clases introduciendo las variaciones con respecto a su clase padre.
Herencia simple: una subclase puede herecar datos y mtodos de una clase simple as como aadir o
sustraer ciertos comportamientos.
Herencia mltiple:posibilidad de adquirir mtodos y datos de varias clases simultneamente.
Encapsulacin:
Define el comportamiento de una clase u objeto que tiene dentro de l todo tipo de mtodos y datos
pero que solo es accesible mediante el paso de mensajes. y los datos a travs de los mtodos del
objeto/clase.
Polimorfismo:
Los objetos responden a los mensajes que se les envan. Un mismo mensaje puede ser interpretado o
dar paso a distintas acciones segn que objeto es el destinatario.
Con este sistema el emisor se desentiende de los detalles de la ejecucin (aunque el programador ha de
saber en todo momento cuales son las consecuencias de ese mensaje).
Tiempo real durante el cual el objeto existe en memoria:
Los objetos se crean a medida que estos son requeridos (en vez de todos a la vez, con la consiguiente
prdida de memoria) y se eliminan de la misma forma.
Persistencia:

Abstraccin:
Ligadura dinmica:
Blob:
Binary Large OBject. tipo de dato util para almacenar grandes datos. Se suelen usar mucho en bases de
datos OO.

Herencia
La herencia es un mecanismo que permite la definicin de una clase a partir de la
definicin de otra ya existente. La herencia permite compartir automticamente
mtodos y datos entre clases, subclases y objetos.
La herencia est fuertemente ligada a la reutilizacin del cdigo en la POO. Esto es, el
cdigo de cualquiera de las clases puede ser utilizado sin ms que crear una clase
derivada de ella, o bien una subclase.
Hay dos tipos de herencia: Herencia Simple y Herencia Mltiple. La primera indica que se
pueden definir nuevas clases solamente a partir de una clase inicial mientras que la
segunda indica que se pueden definir nuevas clases a partir de dos o ms clases iniciales.
Java slo permite herencia simple
Herencia Simple La herencia en C++ es un mecanismo de abstraccin creado para poder
facilitar, y mejorar el diseo de las clases de un programa. Con ella se pueden crear
nuevas clases a partir de clases ya hechas, siempre y cuando tengan un tipo de relacin
especial. En la herencia, las clases derivadas heredan los datos y las funciones miembro
de las clases base, pudiendo las clases derivadas redefinir estos comportamientos
(polimorfismo) y aadir comportamientos nuevos propios de las clases derivadas. Para no
romper el principio de encapsulamiento (ocultar datos cuyo conocimiento no es necesario
para el uso de las clases), se proporciona un nuevo modo de visibilidad de los
datos/funciones: protected. Cualquier cosa que tenga visibilidad protected se
comportar como pblica en la clase Base y en las que componen la jerarqua de herencia,
y como privada en las clases que NO sean de la jerarqua de la herencia. Antes de utilizar
la herencia, nos tenemos que hacer una pregunta, y si tiene sentido, podemos intentar
usar esta jerarqua: Si la frase <claseB> ES-UN <claseA> tiene sentido, entonces estamos
ante un posible caso de herencia donde clase A ser la clase base y clase B la derivada.
Ejemplo: clases Barco, Acorazado, Carguero, etc un Acorazado ES-UN Barco, un
Carguero ES-UN Barco, un Trasatlntico ES-UN Barco, etc En este ejemplo tendramos
las cosas generales de un Barco (en C++) class Barco {

protected:
char* nombre;
float peso;
public:
//Constructores y dems funciones bsicas de barco
}; y ahora las caractersticas de las clases derivadas, podran (a la vez que heredan las de
barco) aadir cosas propias del subtipo de barco que vamos a crear, por ejemplo: Class
Carguero: public Barco { // Esta es la manera de especificar que hereda de Barco
private:
float carga;
//El resto de cosas
};
Class Acorazado: public Barco {
private:
int numeroArmas;
int Soldados;
// Elresto de cosas
}; Por ltimo, hay que mencionar que existen 3 clases de herencia que se diferencian en el
modo de manejar la visibilidad de los componentes de la clase resultante: Herencia
publica (class Derivada: public Base ) : Con este tipo de herencia se respetan los
comportamientos originales de las visibilidades de la clase Base en la clase Derivada.
Herencia privada (clase Derivada: private Base) : Con este tipo de herencia todo
componente de la clase Base, ser privado en la clase Derivada (ojo! siempre ser privado
aunque ese dato fuese pblico en la clase Base) Herencia protegida (clase Derivada:
protected Base) : Con este tipo de herencia, todo componente publico y protegido de la
clase Base, ser protegido en la clase Derivada, y los componentes privados, siguen
siendo privados. Herencia Mltiple La herencia mltiple es el mecanismo que permite al
programador hacer clases derivadas a partir, no de una sola clase base, sino de varias.

Para entender esto mejor, pongamos un ejemplo: Cuando ves a quien te atiende en una
tienda, como persona que es, podrs suponer que puede hablar, comer, andar, pero, por
otro lado, como empleado que es, tambin podrs suponer que tiene un jefe, que puede
cobrarte dinero por la compra, que puede devolverte el cambio, etc Si esto lo
trasladamos a la programacin sera herencia mltiple (clase empleado_tienda): class
Persona {

Hablar();
Caminar();

};
class Empleado {
Persona jefe;
int sueldo;
Cobrar();

};
class empleado_tienda: public Persona, Empleado {

Almacenar Stock();
Comprobar Existencias?();

}; Por tanto, es posible utilizar ms de una clase para que otra herede sus
caractersticas.

Vous aimerez peut-être aussi