Beruflich Dokumente
Kultur Dokumente
Giovanny Moncayo
gmoncayo@fing.uce.edu.ec giovanny.moncayo@gmail.com
CAPTULO II
PROGRAMACIN ORIENTADA A OBJETOS CON JAVA
En esta presentacin
Introduccin
Objetos) Conceptos Bsicos de Programacin en Java Qu son los Objetos? Unified Modeling Language UML Descripcin de una Clase Introduccin a la Clase System
Palabras clave
Objeto
Clase
Atributo Mtodo
de acceso Relaciones entre Objetos UML Instancia de una Clase Herencia Encapsulacin Garbage Collector Recolector de Basura de Java
ORIENTADA A OBJETOS
entre s a travs de mensajes (mtodos). Los Objetos tienen datos e instrucciones. El cdigo puede ser reutilizado Fcil de mantener.
Contiene datos e instrucciones para procesar datos (Se encuentra en la memoria HEAP) Clase: Representacin fsica de un Objeto (estructura, molde o esqueleto). Atributo: Describe el estado de un objeto, se llaman datos (Lo que conoce el objeto lo que se conoce del objeto). Tipo de Dato: Describe el tipo de Informacin que almacena un atributo. Ej: String, int, double, etc.
Es un grupo de instrucciones Comportamiento: Describe lo que el objeto puede hacer Herencia: Capacidad de los objetos para derivar atributos y mtodos de otros objetos ms generales. Encapsulacin: Ocultacin de la informacin que almacenan los objetos. (Atributos privados y acceso a los mismos a travs de Mtodos pblicos)
Cualquier cosa Tangible o Abstracta que es relevante. Pueden tener Atributos y Mtodos.
Los Atributos describen las caractersticas del Objeto, lo que conoce lo que se conoce de l. Los Mtodos describen definen su comportamiento, lo que el Objeto puede hacer.
DE LOS OBJETOS
SE DEFINE UN OBJETO
Cules son los Atributos del Objeto. Cules son los Mtodos del Objeto.
A travs de una clase se pueden definir un sin nmero de Objetos. Cada Objeto definido es una Instancia de la Clase.
DE UN OBJETO
Un Objeto es creado a travs del constructor, utilizando el operador new. El constructor contiene las instrucciones para la creacin del Objeto. Todos los Objetos se almacenan en el HEAP.
public Cliente(String nombreCliente, int edadCliente){
Un Objeto interacta a travs de sus mtodos. Los mtodos son usados para enviar y recibir mensajes entre los objetos. Los Objetos obtienen informacin de otros Objetos por medio de los Mtodos Accesores (GET). Los Objetos alteran la informacin de otros Objetos por medio de los Mtodos Mutadores (SET). El operador para acceder a los mtodos de un Objetos es el Punto ( . )
LA ENCAPSULACIN
Significa:
Atributos). En java se implementa a travs de los modificadores de acceso public, private y protected. Para encapsular un Objeto, los atributos de la clase deben ser definidos como privados y se debe proporcionar acceso a cada uno de ellos a travs de mtodos pblicos (get/set mutadores/accesores). Esto es casi un JavaBean, slo falta definir el constructor de la clase.
ENTRE OBJETOS
Asociacin: Un objeto tiene una referencia a otro Objeto, o lo que es lo mismo, crea una Instancia de otro Objeto. Dependencia: Un objeto no puede existir sin la existencia previa de otro Objeto. Generalizacin: Un Objeto deriva Atributos Comportamientos de otro Objeto (Herencia). y
HERENCIA
Es uno de los conceptos ms importantes de la POO. Consiste en la capacidad de crear clases que reutilicen el cdigo de clases ms generales (atributos y mtodos), y que al mismo tiempo puedan aadir atributos y mtodos propios. Ventajas de la Herencia:
una clase. SI es posible herencia multinivel (Varios niveles de herencia). Una misma clase, puede ser heredada por varias clases.
se usa la palabra reservada extends en la clase Hija. La Herencia entre dos clases establece una relacin es un, en el ejemplo, un Profesor es una Persona
- GARBAGE COLLECTOR
En Java NO es posible saber en qu momento exacto un Objeto ser destruido, slo es posible determinar a partir de qu momento esto puede suceder (cuando se elimine la ltima referencia al mismo) El Garbage Collector es una aplicacin que forma parte de la JVM, la cual se encarga de liberar de la memoria los objetos No Referenciados. Si un Objeto es asignado a null, ste pierde su referencia y es marcado como basura. El Garbage Collector no es controlable, lo maneja directamente el Sistema Operativo.
- GARBAGE COLLECTOR
Esta llamada har que el Recolector de Basura empiece a competir por tiempo de CPU, ya que como se dijo anteriormente, es el Sistema Operativo quin lo controla, y se ejecutar cada vez que el HEAP est prximo a llenarse.
para
modelar
Programas
Consiste de un conjunto de smbolos para representar Clases, las relaciones entre ellas, sus niveles de acceso y su estado. Existen diferentes tipos de diagramas UML, entre ellos los ms utilizados son: Casos de Uso, Secuencia y Clases.
Otros tipos de diagramas UML son: Colaboracin, Actividad, Componentes, Despliegue, etc.
privados, seguidos del Tipo de Dato y en algunos casos de una inicializacin Explcita. Los Mtodos por lo general sern pblicos, seguidos de la lista de argumentos y del Tipo de Retorno. Los mtodos dentro del diagrama UML deben ser ordenados de la siguiente manera:
Constructor 2. Mtodos get/set 3. Mtodos personalizados
1.
// Mtodos
}
tiene acceso por default. Las clases no pueden ser private ni protected.
Debe ser un sustantivo. La primera letra debe ser mayscula y el resto minsculas. Se pueden mezclar varios sustantivos, iniciando cada uno de ellos con una letra mayscula, lo que se conoce como CamelCase. De preferencia evitar colocar caracteres raros dentro del Nombre de la Clase.
Tipos de Dato Primitivos: byte, short, int, long, float, double, char y boolean Tipos de Dato Referencia: Cualquier clase a la que se haga Referencia. Ej: String
[ModifAcceso]: public, private, protected default (cuando no se pone, pero como atributo de clase) TipoDato: Primitivo de Referencia
local) no tienen modificador de acceso, estn disponibles nicamente durante la ejecucin del mtodo.
Debe comenzar con una letra minscula. Si contiene ms de una palabra, stas se separarn con una letra mayscula. No debe tener espacios, ni caracteres especiales como el %, #, $, &. No debe ser una palabra reservada (Keyword) de java.
Ejemplo:
Libro pensandoJava = new Libro();
El nombre del constructor debe ser exactamente el mismo de nombre de la clase. El constructor no devuelve nada, ni siquiera void(). Los constructores se pueden sobrecargar (Modificando la lista de argumentos). Si se define un constructor personalizado, el constructor por defecto desaparece y debe ser escrito si queremos utilizarlo.
Un nombre significativo que describa lo que hace. Informacin requerida para realizar la tarea (Argumentos). Un valor de retorno para mostrar los resultados (Tipo de Dato Primitivo, de Referencia void cuando no retorna nada).
[ModifAcceso]: public, private, protected default TipoRetorno: Primitivo, de Referencia void nombreMetodo: reglas: Debe ser un verbo y comenzar con una letra minscula. Se pueden agregar otras palabras, separndolas con una letra mayscula. No debe tener espacios, ni guiones bajos. No debe ser una palabra reservada (Keyword) de java TipoDato: Tipo de Dato Primitivo de Referencia del argumento param1, param2: La lista de argumentos.
Mutadores: Cambian el estado de un Objeto (set) Accesores: Devuelven el estado de un Objeto (get) Que requieren argumentos: metodo(param1, param2, .. , ..) Que no requieren argumentos: metodo( ) Mtodos que retornan valores: Dentro de su definicin utilizan la palabra reservada return para devolver un Tipo de Dato Primitivo o de Referencia. Ej: mtodos get Mtodos que no retornan valores: Mtodos que tienen como tipo de retorno void, no necesitan un return. Ej: mtodos set
Java. Es conocido como el punto de entrada a una aplicacin. Toda aplicacin Java debe tener al menos un mtodo main. Es un mtodo esttico, lo cual significa que no est asociado a un objeto en particular, y se lo puede invocar sin la necesidad de crear una instancia de la Clase.
3.
Tienen el mismo nombre La lista de argumentos debe ser diferente, ya sea en los tipos de datos o en el nmero de argumentos. Slo modificar el orden de los argumentos NO es sobrecarga. El valor devuelto puede o no ser el mismo, siempre y cuando la lista de argumentos sea diferente en los mtodos sobrecargados. Lo contrario llevar a un error de compilacin.
Referencias Bibliogrficas
Pensando en Java - Thinking in Java ECKEL, Bruce. Prentice Hall, Madrid 2002 Cmo programar en Java. DEITEL & DEITEL. Pearson - Prentice Hall. 2004 Introduccin a la Programacin orientada a objetos con JAVA. WU, C. Thomas. McGraw-Hill. 2001