martes, 23 de noviembre de 2010

Herencia
















La herencia es una forma de reutilización de software en la que las clases se crean absorbiendo los datos y métodos de una clase existente, y se mejoran con nuevas capacidades. O con modificaciones en las capacidades ya existentes.
SUPERCLASES Y SUBCLASES
 Cuando un programa es heredado de otro automáticamente pasa a ser una subclase y el programa del cual fue heredado pasa a ser una superclase


MIEMBROS PROTECTED
 Son un intermedio entre los modificadores de acceso public y private



INGENIERIA DE SOFTWARE MEDIANTE HERENCIA
 Cuando una nueva clase extiende a una clase existente la nueva clase hereda los miembros no private de la clase existente, se puede personalizar la nueva clase para que se adapte a nuestras necesidades, incluyendo miembros adicionales y sobrescribiendo los miembros de la superclase.
 Esto se hace en java sin necesidad del código fuente de la superclase tan solo con el acceso al archivo .class de la misma.
CONCLUCIONES
 La reutilización de software reduce el tiempo de desarrollo de los programas
 Una subclase es mas especifica que su superclase y representa a un grupo mas pequeño de objetos
 Una subclase puede declarar a sus propios miembros, por lo que una subclase es mas grande que su superclase


EJEMPLO…..

Para poder realizar el ejemplo se debe crear en java proyec y en este se crean 3 class
El primer class tiene como nombre Circulo el código es el siguiente.

public class Circulo extends Punto {
private double radio;

public Circulo(int valorX, int valorY, double valorRadio)
{
super(valorX, valorY);
establecerRadio(valorRadio);
System.out.println("constructor de Circulo: " + this);
}

protected void finalize()
{
System.out.println("Finalizador de Circulo: " + this);
super.finalize();
}

public void establecerRadio(double valorRadio)
{
radio=(valorRadio<0.0>
}

public double obtenerRadio()
{
return radio;
}

public double obtenerDiametro()
{
return 2*obtenerRadio();
}

public double obtenerCircunferencia()
{
return Math.PI*obtenerDiametro();
}

public double obtenerArea()
{
return Math.PI*obtenerRadio()*obtenerRadio();
}

public String toString()
{
return "centro = " + super.toString() + "; Radio = " + obtenerRadio();
}
}
El segundo class tiene como nombre Prueba el código es el siguiente.

public class Prueba {


public static void main(String[] args) {

Punto punto;
Circulo circulo1, circulo2;
punto=new Punto(11,22);
System.out.println();
circulo1=new Circulo(72, 29, 4.5);

System.out.println();
circulo2=new Circulo(5, 7, 10.67);

punto=null;
circulo1=null;
circulo2=null;

System.out.println();

System.gc();

}

}

El tercero class tiene como nombre Punto el código es el siguiente.

public class Punto {

private int x;
private int y;

public Punto(int valorX, int valorY)
{
x=valorX;
y=valorY;
}
protected void finalize()
{
System.out.println("Finalizador de punto: " + this);
}

public void establecerX(int valorX)
{
x=valorX;
}
public int obtenerX()
{
return x;
}

public void establecerY(int valorY)
{
y=valorY;
}
public int obtenerY()
{
return y;
}
public String toString()
{
return"[" + obtenerX() + "," + obtenerY() + "]";
}

}

presentado por:

ANGELA PATRICIA GALEANO BEJARANO
JUAN DAVID LANDINEZ BELLO
DIEGO ALEJANDRO RAMIREZ ROJAS

domingo, 21 de noviembre de 2010

ARREGLOS

ARRAYS

Un Arrays o arreglo es una estructura de datos que tiene una colección de datos del mismo tipo, ya sean de tipo int , float y string.

En los arrays se almacenan datos relacionados evitando declarar variables por separado.

Existen 2 clases de arrays:

  • Los arrays unidimensionales se conocen con el nombre de vectores.
  • Los arrays bidimensionales se conocen con el nombre de matrices.

Algunas de sus características más importantes de los arrays son las siguientes:

  • Los arrays se crean con el operador new seguido del tipo y número de elementos que se quieren ingresar.
  • Se puede acceder al número de elementos de un array con la propiedad .length (por ejemplo, vect.length).
  • Se accede a los elementos de un array con los corchetes [] y un índice que varía de length
  • Se pueden crear arrays de objetos de cualquier tipo.
  • Los elementos de un array se inicializan: cero para valores numéricos, el carácter nulo para char, false para boolean, null para Strings y para referencias.

DECLARACIÓN DE UN ARRAYS UNIDIMENSIONAL (VECTOR)

Para declarar un array, se utilizan corchetes para indicar que se trata de un array y no de una simple variable del tipo especificado.

Vector (array unidimensional)

tipo identificador[ ];

O también:

tipo [ ] identificador;

Donde tipo hace referencia a la clase de dato que estamos ingresando( int , float,strig)

EJEMPLOS

float [ ] código = new float [ estudiantes] ;

int [ ] horas = new int [ 10] ;

int [ ] fechas = new int [ 5] ;

float [ ] asistencias = new float [ empleados]

DECLARACIÓN DE UN ARRAYS BIDIMENSIONALES (MATRIZ)

Esta es la forma de declarar un array bidimensional que al igual que en los vectores los corchetes sirven para identificar que trata de un arreglo y no de una variable de tipo especifico.

En el caso de las matrices se utilizan dos pares de corchetes, en el que el primera pareja de corchetes identifica la cantidad de filas y en la segunda pareja de corchetes la cantidad de columnas que deseamos obtener en nuestra matriz.

matriz = new tipo [ filas ] [ columnas] ;

tipo nombre [ ] [ ];

O también

tipo [ ] [ ]nombre;

En la que:

Tipo es el tipo de dato de los elementos del vector.

nombre es el identificador de la variable.

EJEMPLO:

int [ ] [ ] códigos = new int [ 12] [ 31] ;

float [ ] [ ] notas = new float [buenas] [malas] ;


INICIALIZACIÓN EN LA DECLARACIÓN

Se les puede indicar un valor inicial a los elementos de un array en la declaración

int vector [ ] = {1,2,3,4};

En las matrices es de este modo:

int matriz [ ] [ ] = { {1,2,3}, {4,5,6} };

El compilador deduce automáticamente las dimensiones del array.

EJEMPLO VECTOR:

En este programa se ingresan datos por teclado y posteriormente se muestran.


EJEMPLO DE MATRIZ:
Este programa suma dos matrices, en las cuales sus datos están incorporados aleatoriamente por la propiedad random.


sábado, 20 de noviembre de 2010

MODO GRAFICO INTERFAZ DE USUARIO

Modo grafico interfaz de usuario

Se entiende por modo grafico a toda interfaz que involucra ventanas y el mous.

En un Principio todo se utilizaba en modo texto, pero cuando llego el boon de la tecnología la compañía seros decidió crear un dispositivo que hacia mas amigables los programas y ayudaba a la interacción con el usuario.




Para los programadores en especial es mucho mejor el modo texto por su rapidez, pero en realidad el modo grafico es lo que manda la parada en esta era tan avanzada y de tanta tecnología.
La GUI o interfaz grafica de usuario es un programa que actúa cono interfaz de usuario utilizando un conjunto de programas con imágenes y ventanas que nos permiten interactuar con el programa que estemos utilizando.




Ejemplo
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class expo extends JFrame
{
public expo()
{
super("Ejemplo 1");
JButton boton = new JButton("Mostrar dialogo");
boton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,
"Y así¬ se ve un cuadro de dialogo de error",
"Mensaje",JOptionPane.ERROR_MESSAGE);
}
}
);
getContentPane().add(new JLabel("Asi se ve un Frame"),
BorderLayout.NORTH);
getContentPane().add(boton);
setSize(200,80);
setVisible(true);
}
public static void main(String args[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
expo ventana = new expo();
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}




Presentado por:
Mayerly Carolina Mendoza Cajamarca.
Tatiana Méndez Olis.
Diana Bolaños.


domingo, 24 de octubre de 2010

Gestion de excepciones con try catch y throws

EXCEPCIONES

Utilizamos las excepciones en Java para detectar y corregir errores que se pueden presentar en un determinado programa que estemos ejecutando.
La diferencia entre una Excepcion y un Error es que una excepción si es atrapada (catch) por el programa y el programador permite recuperar el programa y continuar con su ejecución, mientras que un error aunque sea atrapado (catch) por el programa y el programador suspenderá el programa y terminara su ejecución.


Cuando se presenta un error se lanza un objeto Throwable,que puede capturar el error y tomar las medidas que estime oportunas para que el programa siga su ejecucion sin volver a mostrar dicho error.

Hay dos tipos de excepciones:

1) RuntimeException: errores del programador,como una division por cero o el acceso fuera de los limites de un array.

2)IOExeption: errores que no puede evitar el programador,generalmente relacionados con la entrada/salida del programa.

Para manejar las excepciones utilizamos las sentencias try , catch , finally:

try: encierra el codigo donde se produce las excepciones y en español significa intentar.Por cada bloque try hay un catch por tal motivo se pueden capturar varios tipos de excepciones.

catch: Contiene el codigo que se va a ejecutar despues de presentarse la excepcion, maneja todos los errores de un determinado programa.

finally :es empleada dentro de un Bloque try/catch para realizar tareas que deben ser ejecutadas independientemente del comportamiento de errores.
Cuando se atrapa un error ("Exception") un programa queda inconcluso, es esta terminación abrupta la que puede causar que algún recurso/mecanismo permanezca asignado o mal utilizado; a través de una sección finally se garantiza que sea ejecutado un juego de instrucciones independientemente del tipo de error que pueda ocurrir; un uso muy común para una sección finally consiste en liberar conexiones hacia Bases de Datos que pudieran haber sido asignadas en la sección try.


Propagacion de excepciones (throws)
Si lanzamos una excepcion debemos tener en cuenta que tenemos que añadir una clausula throws que puede contener una lista del tipo de excepciones que se pueden producir al invocar un metodo.
ejemplo:
public String leerFichero (String nombre del fichero) throws IOException

Adjuntamos un video donde nos explican paso a paso el manejo de excepciones en un programa muy comun la division entre cero.

http://www.slideshare.net/jent46/excepciones-en-java-presentation
http://elvex.ugr.es/decsai/java/pdf/B2-excepciones.pdf
http://javabasico.osmosislatina.com/curso/progavanza2/trycatch.htm

Presentado por:
sandra milena leon jenny navas leidy matallana
michael fino pinto jose garcia bejarano

domingo, 17 de octubre de 2010

Cadenas De Caracteres

Cadenas de caracteres en Java

Primero que todo debemos tener claro el concepto de una cadena de caracteres para saber a ciencia cierta de que estamos hablando; Una cadena de caracteres es una sucesión de caracteres que pertenecen a cierto alfabeto es decir que pueden ser letras, números, símbolos o signos entre otros.

En cuanto a la programación, en una cadena de caracteres se pueden colocar restricciones al alfabeto es decir que solo tengan diversos tipos de los anteriormente nombrados; si hablamos de letras serian las letras de la ‘a’ a la ‘z’ y de la ‘A’ a la ‘Z’, en cuanto a números tenemos del ‘0’ al ‘9’, por últimos si son signos o símbolos tenemos el espacio en blanco diversos símbolos como lo fueran ‘#’ ‘@’ ‘/’ ‘*’ entre otros. Al igual en el ámbito de la programación se pueden utilizar como un Tipo de Dato predefinido, para palabras, frases o cualquier otra sucesión de caracteres
– Vectores de datos y Matrices de datos de una sola fila o mejor conocido como:
(Array en Ingles)

Al considerar las cadenas como un tipo de dato podemos realizar diferentes operaciones con ellas dentro de las cuales encontramos:

Asignación: Consiste en asignarle una cadena a otra

Concatenación: Consiste en unir dos o mas cadenas (o una cadena con un carácter) para formar una cadena de mayor tamaño.

Búsqueda: Consiste en localizar dentro de una cadena una subcadena más pequeña o un carácter.

Extracción: Se trata de sacar fuera de una cadena una parte de la misma según su posición dentro de ella.

Comparación: Se utiliza para comparar dos cadenas.

1 2 3 4 5
T E X T O
String ___Longitud___

Length --> Longitud --> Int

Int Longitud = A.length.( );

System.Out.Println(Longitud);

A.chartAt (4);
Posición

Int pos=A.indexOf (‘X’);
Caracter de la Posición

System.Out.Println(A.char+(2));

Int Codigo=A.hashCode();
Posicion Final

String Sub=A.substring(0,2);
Posicion Inicial

A.substring (2);

String m=A.tolowerCase();
Minusculas

String m=A.toupperCase();
Mayusculas

InputStreanReader variable1=new InputStremaReader(System.in);
Buffered Reader variable2=new BufferedReader (variable1);
String Cadena= variable2.readline();

(Int codigo= A.(Substring))

Para convertir el valor de una cadena en un tipo de dato simple debemos utilizar los siguientes métodos:

Tipo De String

boolean new Boolean(String).booleanValue()
int Integer.ParseInt(String, int base)
long Long.ParseLong(String, int base)
float new Float(String).floatValue()
double new Double(String).doubleValue()

Inserción:
StringBuffer insert( int i, Object o ); Desplaza los caracteres de la cadena e inserta la
cadena correspondiente al segundo parámetro (de cualquier tipo).

Sustitucion:
void setCharAt( int i, char to ); Cambia el carácter de la posición i por to. Si la posición supera la longitud de la cadena, se extiende rellenándose con caracteres nulos.

Borrado:
StringBuffer delete( int ini, int fin ); Borra la subcadena entre el carácter ini y el fin.


Ejemplos de uso de cadenas
(http://zarza.usal.es/~fgarcia/doc/tuto2/III_2.htm)
a.) Ejemplo de Cadena Fija (de la clase String)
En el siguiente ejemplo se muestra la utilización de los principales métodos de la clase String:

public static void main( String s[] ){
String cad = new String("Cadena Fija");
System.out.println("Ejemplo de String: '"+cad+"'");
//Métodos comunes a StringBuffer
System.out.println("Su longitud es: "+cad.length());
System.out.println("Su tercer caracter es: "+cad.charAt(3));
System.out.print("Su subcadena del 3 al 6 es:");
System.out.println( cad.substring(2,6) );
char[] vectorcad = cad.toCharArray();
System.out.println("Creado un vector, de elemento 3: ");
System.out.print( vectorcad[2] );
// Búsqueda en cadenas
String subcad=new String("ena");
System.out.print("La subcadena '"+subcad+"'");
System.out.print(" aparece en la posicion: ");
System.out.println( cad.indexOf(subcad) );
// Comparaciones
String cadcomp=new String("CADENA Fija");
System.out.print("La cadena '"+cadcomp+"'");
if ( cad.compareTo(cadcomp) == 0 )
System.out.println(" ES igual 'Sensitive'");
else
System.out.println(" NO es igual 'Sensitive'");
System.out.print("La cadena '"+cadcomp+"'");
if ( cad.equalsIgnoreCase(cadcomp) )
System.out.println(" ES igual 'Insensitive'");
else
System.out.println(" NO = 'Insensitive'");
// Derivación
System.out.print("Cadena derivada en minusculas: ");
System.out.println( cad.toLowerCase() );
}

Lo que muestra por pantalla:

ejemplo de String: 'Cadena Fija'
Su longitud es: 11
Su tercer caracter es: e
Su subcadena del 3 al 6 es: dena
Creado un vector, de elemento 3: d
La subcadena 'ena' aparece en la posicion: 3
La cadena 'CADENA Fija' NO es igual 'Sensitive'
La cadena 'CADENA Fija' ES igual 'Insensitive'
Cadena derivada en minusculas: cadena fija