jueves, 29 de abril de 2010

Array y Cadenas

Arrays y Cadenas
Al igual que otros lenguajes de programación, Java permite juntar y manejar múltiples
valores a través de un objeto array (matriz). También se pueden manejar datos
compuestos de múltiples caracteres utilizando el objeto String (cadena).
Arrays
Esta sección te enseñará todo lo que necesitas para crear y utilizar arrays en
tus programas Java.
Como otras variables, antes de poder utilizar un array primero se debe
declarar. De nuevo, al igual que otras variables, la declaración de un array
tiene dos componentes primarios: el tipo del array y su nombre. Un tipo de
array incluye el tipo de dato de los elementos que va contener el array. Por
ejemplo, el tipo de dato para un array que sólo va a contener elementos
enteros es un array de enteros. No puede existir un array de tipo de datos
genérico en el que el tipo de sus elementos esté indefinido cuando se declara
el array. Aquí tienes la declaración de un array de enteros:
int[] arrayDeEnteros;
La parte int[] de la declaración indica que arrayDeEnteros es un array de
enteros. La declaración no asigna ninguna memoria para contener los
elementos del array.
Si se intenta asignar un valor o acceder a cualquier elemento de
arrayDeEnteros antes de haber asignado la memoria para él, el compilador
dará un error como este y no compilará el programa:
testing.java:64: Variable arraydeenteros may not have been initialized.
Para asignar memoria a los elementos de un array, primero se debe
ejemplarizar el array. Se puede hacer esto utilizando el operador new de Java.
(Realmente, los pasos que se deben seguir para crear un array son similares a
los se deben seguir para crear un objeto de una clase: declaración,
ejemplarización e inicialización.
La siguiente sentencia asigna la suficiente memoria para que arrayDeEnteros
pueda contener diez enteros.
int[] arraydeenteros = new int[10]
En general, cuando se crea un array, se utiliza el operador new, más el tipo
de dato de los elementos del array, más el número de elementos deseados
encerrado entre cochetes cuadrados ('[' y ']').
TipodeElemento[] NombredeArray = new TipodeElementos[tamanoArray]
Ahora que se ha asignado memoria para un array ya se pueden asignar
valores a los elemetos y recuperar esos valores:
for (int j = 0; j < arrayDeEnteros.length; j ++) {
arrayDeEnteros[j] = j;
System.out.println("[j] = " + arrayDeEnteros[j]);
}
Como se puede ver en el ejemplo anterior, para referirse a un elemento del
array, se añade corchetes cuadrados al nombre del array. Entre los corchetes
caudrados se indica (bien con una variable o con una expresión) el índice del
elemento al que se quiere acceder. Observa que en Java, el índice del array
empieza en 0 y termina en la longitud del array menos uno.
Hay otro elemento interesante en el pequeño ejemplo anterior. El bucle for
itera sobre cada elemento de arrayDeEnteros asignándole valores e
imprimiendo esos valores. Observa el uso de arrayDeEnteros.length para
obtener el tamaño real del array. length es una propiedad proporcionada para
todos los arrays de Java.
Los arrays pueden contener cualquier tipo de dato legal en Java incluyendo los
tipos de referencia como son los objetos u otros array. Por ejemplo, el
siguiente ejemplo declara un array que puede contener diez objetos String.
String[] arrayDeStrings = new String[10];
Los elementos en este array son del tipo referencia, esto es, cada elemento
contiene una referencia a un objeto String. En este punto, se ha asignado
suficiente memoria para contener las referencias a los Strings, pero no se ha
asignado memoria para los propios strings. Si se intenta acceder a uno de los
elementos de arraydeStrings obtendrá una excepción 'NullPointerException'
porque el array está vacio y no contiene ni cadenas ni objetos String. Se debe
asignar memoria de forma separada para los objetos String:
for (int i = 0; i < arraydeStrings.length; i ++) {
arraydeStrings[i] = new String("Hello " + i);
}

Interface

¿Qué es un Interface?
Definición: Un interface es una colección de definiciones de métodos (sin
implementaciones) y de valores constantes.
Los interfaces se utilizan para definir un protocolo de comportamiento que puede
ser implementado por cualquier clase del árbol de clases.
Los interfaces son útiles para:
capturar similitudes entre clases no relacionadas sin forzar una relación entre
ellas.
l
l declarar métodos que una o varias clases necesitan implementar.
revelar el interface de programación de un objeto sin recelar sus clases (los
objetos de este tipo son llamados objetos anónimos y pueden ser útiles
cuando compartas un paquete de clases con otros desarrolladores).
l
En Java, un interface es un tipo de dato de referencia, y por lanto, puede utilizarse
en muchos de los sitios donde se pueda utilizar cualquier tipo (como en un
argumento de métodos y una declaración de variables). Podrás ver todo esto en:
Utilizar un Interface como un Tipo.
Los Interfaces No Proporcionan Herencia Múltiple
Algunas veces se tratra a los interfaces como una alternativa a la
herencia múltiple en las clases. A pesar de que los interfaces podrían
resolver algunos problemas de la herencia múltiple, son animales
bastantes diferentes. En particular:
l No se pueden heredar variables desde un interface.
No se pueden heredar implementaciones de métodos desde un
interface.
l
La herencia de un interface es independiente de la herencia de la
clase--las clases que implementan el mismo interface pueden o no
estar relacionadas a través del árbol de clases.

miércoles, 7 de abril de 2010

Tipos de objetos graficos que tiene Java

Tipos de objetos graficos que tiene Java

Objetos Gráficos

Java proporciona la clase Graphics, que permite mostrar texto a través del método drawString(), pero también tiene muchos otros métodos de dibujo. Es esencial el entendimiento de la clase Graphics, antes de adentrarse en el dibujo de cualquier cosa en Java. Esta clase proporciona el entorno de trabajo para cualquier operación gráfica que se realice dentro del AWT. Juega dos importantes papeles: por un lado, es el contexto gráfico, es decir, contiene la información que va a afectar a todas las operaciones gráficas, incluyendo los colores de fondo y texto, la fuente de caracteres, la localización y dimensiones del rectángulo en que se va a pintar, e incluso dispone de información sobre el eventual destino de las operaciones gráficas (pantalla o imagen). Por otro lado, la clase Graphics proporciona métodos que permiten el dibujo de primitivas, figuras y la manipulación de fonts de caracteres y colores. También hay clases para la manipulación de imágenes, doble-buffering, etc.

Para poder pintar, un programa necesita un contexto gráfico válido, representado por una instancia de la clase Graphics. Pero, como esta clase es abstracta, no se puede instanciar directamente; así que debemos crear un componente y pasarlo al programa como un argumento a los métodos paint() o update().

Los dos métodos anteriores, paint() y update(), junto con el método repaint() son los que están involucrados en la presentación de gráficos en pantalla. El AWT, para reducir el tiempo que necesitan estos métodos para realizar el repintado en pantalla de gráficos, tiene dos axiomas:

  • Primero, el AWT repinta solamente aquellos Componentes que necesitan ser repintados, bien porque estuviesen cubiertos por otra ventana o porque se pida su repintado directamente
  • Segundo, si un Componente estaba tapado y se destapa, el AWT repinta solamente la porción del Componente que estaba oculta

La pantalla en Java se incrementa de izquierda a derecha y de arriba hacia abajo, tal como muestra la figura:

ejes

Los pixels de la pantalla son pues: posición 0 + ancho de la pantalla - 1.

En los textos, el punto de inserción se encuentra en la línea base de la primera letra.


Para poder hacer uso de las imágenes

La primera es que haremos uso de la clase Image, que pertenece al paquete java.awt.
Creación del Objeto:
Para crearlo, se procede de la misma manera en la que creamos cualquier variable de los tipos primitivos de Java.Image img1;
Localizar la Imagen
Es la ruta del documento web desde el cual se cargará la imagen que deseamos mostrar, y esto se hace mediante la instrucción:getDocumentBase()
Para cargar la imagen
Este método debe ir dentro del método init de un Applet, además que, debe tener como argumento la dirección de la imagen (getDocumentBase()) y el nombre de la misma.Img1= getImage(getDocumentBase(),”t2.gif”);
Para Mostrar La Imagen
Lo hacemos dentro del método paint de un applet. Y es de la siguiente forma:g.drawImage(img1,20,20,this);

Libreria Grafica

Ejemplos

martes, 23 de marzo de 2010

Next Generation Audio Conferencing:



La audio conferencia a ido evolucionando durante el tiempo, cada vez innovando nuevas y mejores formas de comunicación. Una de sus mas grandes evoluciones ha sido la llamada conferencia donde se eliminó la necesidad de un operador, para esta forma de comunicación. En los ultimos tiempos la popularidad de las conferencias mediante la web a tenido un gran aumento, debido a varias ventajas que esrta nos presenta.


¿Pero a que se refiere una conferencia via internet?
Es una comunicacion con varias personas, utilizando varios recursos del internet. Para tener acceso a este medio se requiere posser el software y el acceso al servidor que vayamos a utilizar. Al poseer todos los requerimientos necesarios el usuario podrá acceder a una interfaz grafica la misma que le permitira controlar la video conferencia y poder tener comunicacion con los participantes de la misma.


Informes en tiempo real desde la Web
Estos procesos que nos presenta el servicio de video conferencia proveen al usuario informacion a cerca del soporte. Puede ser acerca de marketing, ventas etc. Y a su ves informará a los usurios quien sera el encargado de administrar las conferrencias semanalmente.

Auto Servicio de Administracion
Esta es una herramienta muy útil ya que sirve como controlador de costos, la cual se encarga de la auto administracion de l usuario, en donde el puede añadir o remover usuarios así como también cambiar los privilegios del mismo.

New Web Based Feaures

Este servicio nos permite tener la posibilidad de obtener nuevos servicios por medio de un modem, y de esta manera poder realizar grabaciones de una conferencia en formato mp3 para que en los posterior pueda ser descargada de la red y distribuida por costo.








lunes, 22 de marzo de 2010

Try y Catch

En Java, como en cualquier otro lenguaje de programación, pueden existir situaciones en la que el programa falle. Java llama a estos errores excepciones.

Para tratar excepciones deberemos usar la instrucción try (que significa intentar en español).

try
{
//declaración que causa la excepción
}
Entre las llaves de try escribiremos el código que hará funcional nuestro programa. Para capturar la excepción que puede generar este código necesitaremos otra instrucción llamada catch (capturar).

catch(NombredeExcepcion obj){
//código para tratar el error
}
Entre las llaves de catch escribiremos el código que queramos para tratar el error.

Metodo Static

Es un método que puede ser accesado sin necidad de instanciar un objeto, son utilizados con frecuencia sin necesidad de que los programadores no tengan ya que definir esas tareas por su cuenta. Metodo especial de la clase JoptionPane.
Generalmente losmétodos estáticos se llaman utilizando la clase, seguido de un punto (.) y el nombre del método, de la siguiente manera:


NombreDeLaClase.nombreDelMetodo(argumentos)

jueves, 18 de marzo de 2010

Abstracción: La abstraccion es un metodo por el cual abstraemos, vale la redundancia, una determinada entidad de la realidad sus caracteristicas y funciones que desempeñan, estos son representados en clases por medio de atributos y metodos de dicha clase. Ejemplo:
Un ejemplo sencillo para comprender este concepto seria la abstraccion de un Automovil.
Aca vamos a sacar de estas entidad sus caracteristicas por ejemplo: color, año de fabricacion, modelo, etc. Y ahora sacamos sus metodos o funciones tipicas de esta entidad como por ejemplo: frenar, encender, etc. A esto se le llama abstracción.

Encapsulamiento: Este concepto se basa en que por ejemplo a un conductor no necesita saber como esta compuesta las partes internas del motor, sino la funcionalidad que tiene, a este ocultamiento se le denomina encapsulamiento. Es el ocultamiento de informacion que no es necesario saber un determinado usuario.

Herencia: Este es un concepto fundamental para la POO y para el lenguaje java, ya que con este concepto significa que vamos a poder reutilizar codigo. Un ejemplo seria una clase Figura Geometrica, que tiene funciones como el calculo de su perimetro y de su area, y tiene como sub clase la clase Cuadrado, que era sus metodos de la clase Figura Geometrica que son en este caso perimetro y area, aca aprovechamos la reutilizacion de codigo. Pero en java no existe la herencia multiple como en otros programas como C/C++, aca es solo herencia simple, pero en java existe algo que simula esta herencia multiple que son las llamadas interfaces que posteriormente vamos a estudiar.

Polimorfismo: Este concepto se base en que podemos utilizar varios metodos con el mismo nombre y con diferente funcionalidad. Por ejemplo de mi clase Vehiculos tenemos el metodo frenar, y tenemos sus sub clases Automovil y Motocibleta, ambos tienen el metodo frenar pero cada uno tiene una definicion diferente para cada clase. A esto se le denomina polimorfismo, mas adelante lo vamos a ver en las sobrecargas de funciones y redefiniciones de metodos en la herencia.


Programación Orienta a Objetos

Programación orientada a objetos


La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de ordenador. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento.

Los objetos son entidades que combinan estado, comportamiento e identidad:

  • El estado está compuesto de datos, será uno o varios atributos a los que se habrán asignado unos valores concretos (datos).
  • El comportamiento está definido por los procedimientos o métodos con que puede operar dicho objeto, es decir, qué operaciones se pueden realizar con él.
  • La identidad es una propiedad de un objeto que lo diferencia del resto, dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante).

La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más fáciles de escribir, mantener, y reutilizar.

De aquella forma, un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interacción llamados métodos que favorecen la comunicación entre ellos. Esta comunicación favorece a su vez el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separan ni deben separarse el estado y el comportamiento.

Los métodos (comportamiento) y atributos (estado) están estrechamente relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de métodos para poder tratar los atributos con los que cuenta. El programador debe pensar indistintamente en ambos conceptos, sin separar ni darle mayor importancia a alguno de ellos. Hacerlo podría producir el hábito erróneo de crear clases contenedoras de información por un lado y clases con métodos que manejen a las primeras por el otro. De esta manera se estaría realizando una programación estructurada camuflada en un lenguaje de programación orientado a objetos.

Esto difiere de la programación estructurada tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada anima al programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programación estructurada sólo se escriben funciones que procesan datos. Los programadores que emplean éste nuevo paradigma, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.

jueves, 11 de marzo de 2010

Modificadores de acceso

Private.- Se puede acceder a la clase ó miembros de la clase desde la misma clase.
Public.- Se puede acceder a la clase ó miembros de la clase desde cualquier lugar.
Protected.-
Solo se puede acceder a la clase ó miembros de la clase desde la propia clase o desde una clase que herede de ella.
Default.-
Se puede acceder a la clase ó miembros de la clase desde cualquier clase en el mismo paquete.

http://www.ingenieriasw.com/modificadoresaccesojava

Gets and Set

Get.- Método de acceso que nos permite inicializar y cambiar el valor de los atributos, explicitamente
Set.- Método de acceso que permite obtener el valor de los atributos