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:
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