Está en la página 1de 14

Programacin orientada a objetos

La programacin orientada a objetos o POO (OOP segn


sus siglas en ingls) es un paradigma de programacin que
usa objetos y sus interacciones para disear aplicaciones y
programas de ordenador. Sus carcteristicas principales
son herencia, abstraccin modularidad, polimorfismo y
encapsulamiento. Su uso se populariz a principios de la
dcada de 1990. Actualmente son muchos los lenguajes de
programacin que soportan la orientacin a objetos.
Conceptos Generales - POO

Objeto: entidad provista de un conjunto de propiedades o atributos
(datos) y de comportamiento o funcionalidad (mtodos) los mismos que
consecuentemente reaccionan a eventos. Se corresponde con los
objetos reales del mundo que nos rodea, o a objetos internos del
sistema (del programa). Es una instancia a una clase.

Evento: Es un suceso en el sistema (tal como una interaccin del
usuario con la mquina, o un mensaje enviado por un objeto). El
sistema maneja el evento enviando el mensaje adecuado al objeto
pertinente. Tambin se puede definir como evento, a la reaccin que
puede desencadenar un objeto, es decir la accin que genera.

Mensaje: una comunicacin dirigida a un objeto, que le ordena que
ejecute uno de sus mtodos con ciertos parmetros asociados al evento
que lo gener.


Conceptos Generales - POO
Clase: definiciones de las propiedades y comportamiento de un
tipo de objeto concreto.

Mtodo: Algoritmo asociado a un objeto (o a una clase de
objetos), cuya ejecucin se desencadena tras la recepcin de un
"mensaje". Desde el punto de vista del comportamiento, es lo que
el objeto puede hacer. Un mtodo puede producir un cambio en
las propiedades del objeto, o la generacin de un "evento" con un
nuevo mensaje para otro objeto del sistema.

Propiedad o atributo: contenedor de un tipo de datos asociados
a un objeto (o a una clase de objetos), que hace los datos
visibles desde fuera del objeto y esto se define como sus
caractersticas predeterminadas, y cuyo valor puede ser alterado
por la ejecucin de algn mtodo.

Sintaxis para la construccin de una Clase
modifAcceso modifClase class nombreClase [extends
nombreBase] [implements listaInterfaces] {
Atributo 1
Atributo N
constructor de la clase
mtodo 1
mtodo N
}

Constructores
Cuando se instancia un objeto es necesario inicializar sus variables
con valores coherentes. La solucin en los lenguajes orientados a
objetos es emplear los constructores. Un constructor es un mtodo
perteneciente a la clase que posee unas caractersticas especiales:

Se llama igual que la clase.
No devuelve nada, ni siquiera void.
Pueden existir varios, pero siguiendo las reglas de la
sobrecarga de funciones.
De entre los que existan, tan slo uno se ejecutar al crear un
objeto de la clase.
Dentro del cdigo de un constructor generalmente suele existir
inicializaciones de variables y objetos, para conseguir que el
objeto sea creado con dichos valores iniciales.

Sintaxis de un Constructor
Para definir los constructores se emplea la siguiente
sintaxis:

[modifVisibilidad] nombreConstructor (listaParmetros)
[throws listaExcepciones] {

Instrucciones
}
Modificadores de acceso


Public
La clase puede ser usada por cualquier programa de Java sin restriccin

Private
Una clase NO PUEDE ser prvate, al menos que sea anidada
Para los mtodos y variables pueden ser solo usados dentro de la clase que
los define

Default
Solo accesible por clases del mismo paquete

Protect
Solo aplica para mtodos y variables. Indica que estos componentes esta
disponibles para las subclases de la clase (se usa para clases que estn en
diferentes paquetes)


Herencia en Java
Herencia: (por ejemplo, herencia de la clase D a la clase C) Es
la facilidad mediante la cual la clase D hereda en ella cada uno
de los atributos y operaciones de C, como si esos atributos y
operaciones hubiesen sido definidos por la misma D. Por lo tanto,
puede usar los mismos mtodos y variables publicas declaradas
en C. Los componentes registrados como "privados" (private)
tambin se heredan, pero como no pertenecen a la clase, se
mantienen escondidos al programador y slo pueden ser
accedidos a travs de otros mtodos pblicos. Esto es as para
mantener hegemnico el ideal de POO.

Herencia en Java - Sintaxis
modificadordeAcceso class nombreClaseHija
extends nombreClasePadre {
Atributo 1
Atributo N
constructor de la clase
mtodo 1
mtodo N
}
La clase hija, contiene todos los mtodos y atributos de la clase padre
Qu pasa con los constructores en la
herencia?
El constructor por defecto no tiene argumentos y es creado
por el compilador si no hay otros constructores explicitamente
definidos en la clase.

Los constructores por defecto no son heredados, son
creados por el compilador
Overriding en Java
Un mtodo que tenga el mismo nombre, igual nmero de parmetros
correspondientes al tipo y orden de argumentos como el metodo de la
clase padre es un metodo Overriding.
Cada mtodo de la clase padre puede ser sobreescrito ms de una vez,
en alguna subclase (eso si, no se pueden tener dos mtodos identicos
en la misma clase)
Un mtodo Overriding debe retornar exactamente el mismo tipo que el
mtodo que esta sobreescribiendo.
Un mtodo sobreescrito no debe tener menos accesibilidad que el
mtodo sobreescrito
Overriding en Java
No debe lanzar excepciones para chequear un excepcin
que no fue declarada por el mtodo sobreescrito.
Un mtodo sobreescrito puede ser invocado desde la
subclase usando el constructor super.nombremetodo().
Los mtodos que son sobreescritos mas de una vez (por
cambios de subclases) no son directamente accesibles.
Overriding Modificadores de Acceso
Private Default
Protected
Public
Bibliografa
http://es.wikipedia.org/wiki/Interfaz_%28Java%29
http://www.mailxmail.com/curso-java/herencia-java-1

También podría gustarte