Programación Orientada a Objetos en Java

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 9,41 KB

PAQUETES

Los paquetes no son más que una carpeta que ayudan a organizar las clases en grupos para facilitar el acceso a ellas cuando las necesitamos en algún programa y permiten proteger el acceso a las clases.

CLASE

Una clase es un tipo definido por el en el cual se especifican los atributos y métodos de los objetos que se crearán a partir de la misma.

ATRIBUTOS

Los atributos constituyen la estructura interna de los objetos de una clase.

public class Ejemplo{

        public String cadena;

        private int numero;

}

MÉTODOS

Los métodos definen las operaciones que se pueden realizar con los atributos de una clase.

public class Ejemplo{

        public String cadena = "Hola";

        private int numero = 1;

        public void main(String args[]){

            //Algun código

        }

        public void saludo(){

            System.out.println("Este es el saludo de un método");

        }

}

OBJETOS

Un objeto es una instancia de una clase.

Un objeto se crea en el momento en que se define una variable de dicha clase, por ejemplo:

Ejemplo objeto = new Ejemplo();

HERENCIA

La herencia es una de las características más importantes en la POO porque permite que una clase herede los atributos y métodos de otra clase (a excepción de los constructores, éstos no se heredan), esta característica nos garantiza la reutilización del código.

Una clase derivada puede tener sus propios atributos y métodos adicionales a los heredados.

Una clase derivada puede modificar los atributos y métodos heredados.

La implementación de la herencia se hace mediante la palabra reservada extends.

Ejemplo:

public class Felino extends Animal{

}

CLASE OBJECT

La clase Object es la clase raíz de la jerarquía de clases en Java perteneciente al paquete System.

USO DE SUPER

Super es un método así como una palabra reservada de Java, sirve principalmente para:

1. Para llamar inmediatamente a un padre.

2. Puede ser usado como miembro de una instancia, puede llamar una variable o método de un padre.

3. Puede ser llamado en el constructor de una clase hija para llamar al constructor de una clase padre.

UTILERIAS

Esta sección es dedicada a realizar programas sencillos que nos pueden ser útiles para programas más grandes tales como en sistemas.

ARREGLOS

Son estructura de datos en la cual se pueden almacenar más de un solo dato de acuerdo a un tamaño y una capacidad.

La estructura de un arreglo puede ser de las siguientes maneras:

tipo_de_dato[] nombreArreglo;

tipo_de_dato[] nombreArreglo;

tipo_de_dato nombreArreglo[];

Las declaraciones anteriores son para arreglos de una sola dimensión, para dos dimensiones se agrega un par de corchetes:

tipo_de_dato[][] nombreArreglo; //Esta es una matriz.

tipo_de_dato[] vector = new tipo_de_dato[tamañoArreglo];

En Java quedaría así:

int[] vector = new int[10];

GUARDAR DATOS EN UN ARREGLO

Para guardar datos en un arreglo debemos de tomar en cuenta 2 cosas:

1. El tipo de dato a guardar en el arreglo.

2. El índice o posición a guardar en el arreglo.

Teniendo en cuenta esas dos cosas podemos guardar un dato en el arreglo, se hace de la siguiente manera:

arreglo[posición] = dato;

En Java:

vector[3] = 15;

INICIANDO ARREGLOS CON DATOS

Al crear un arreglo se puede iniciar asignándole datos de esta manera:

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

EXCEPCIONES

Try se utiliza cuando se desean prever excepciones en el transcurso de la ejecución de un programa. Es necesario ya que ahí se colocan las instrucciones que se desean realizar pese a la excepción, posteriormente se usa un catch donde se especifica la excepción que se sabe puede ocurrir.

try {

    //Instrucciones que se intentan ejecutar, si se produce una

    //situación inesperada se lanza una excepción

} catch (tipoExcepcion e) {

    //Instrucciones para tratar esta excepción

} catch (otroTipoExcepcion e) {

    //Instrucciones para tratar esta excepción

}

//Se pueden escribir tantos bloques catch como sean necesarios

finally {

    //Instrucciones que se ejecutarán siempre después de un bloque try

    //se haya producido o no una excepción

}

HILOS

Es la clase que encapsula todo el control necesario sobre los hilos de ejecución (threads). currentThread()

Este método devuelve el objeto thread que representa al hilo de ejecución que se está ejecutando actualmente.

yield()

Este método hace que el intérprete cambie de contexto entre el hilo actual y el siguiente hilo ejecutable disponible. Es una manera de asegurar que los hilos de menor prioridad no sufran inanición.

sleep(long)

El método sleep() provoca que el intérprete ponga al hilo en curso a dormir durante el número de milisegundos que se indiquen en el parámetro de invocación. Una vez transcurridos esos milisegundos, dicho hilo volverá a estar disponible para su ejecución. Los relojes asociados a la mayoría de los intérpretes de Java no serán capaces de obtener precisiones mayores de 10 milisegundos, por mucho que se permita indicar hasta nanosegundos en la llamada alternativa a este método.

Métodos de Instancia

Aquí no están recogidos todos los métodos de la clase Thread, sino solamente los más interesantes, porque los demás corresponden a áreas en donde el estándar de Java no está completo, y puede que se queden obsoletos en la próxima versión del JDK, por ello, si se desea completar la información que aquí se expone se ha de recurrir a la documentación del interfaz de programación de aplicación (API) del JDK.

start()

Este método indica al intérprete de Java que cree un contexto del hilo del sistema y comience a ejecutarlo. A continuación, el método run() de este hilo será invocado en el nuevo contexto del hilo. Hay que tener precaución de no llamar al método start() más de una vez sobre un hilo determinado.

NUMEROS ALEATORIOS

Para obtener un número aleatorio utilizando la clase Random debes seguir estos pasos:

1. Importar la clase: import java.util.Random;

2. Crear un objeto de la clase Random

3. Utilizar uno de los métodos de la clase para obtener el número

Algunos métodos de la clase Random:

nextInt() devuelve un número entero positivo o negativo dentro del rango de enteros.

nextInt(int n) devuelve un número entero >= 0 y menor que n.

nextDouble() devuelve un número positivo de tipo double mayor o igual que 0.0 y menor que 1.0

Por ejemplo, para generar 5 enteros al azar:

Random rnd = new Random();

for(int i = 1; i <= 5; i++)

    System.out.println(rnd.nextInt());

Un posible resultado de este for es:

-394395199

1133763686

-424454120

1147379979

-2049113297

Para generar 5 enteros entre 0 y 6:

for(int i = 1; i <= 5; i++)

    System.out.println(rnd.nextInt(7));

Para generar 5 enteros entre 1 y 6:

for(int i = 1; i <= 5; i++)

    System.out.println(rnd.nextInt(6) + 1);

En general, para generar enteros al azar entre dos límites DESDE, HASTA, ambos incluidos:

rnd.nextInt(HASTA - DESDE + 1) + DESDE

Por ejemplo, para generar 5 números aleatorios entre 10 y 20:

for(int i = 1; i <= 5; i++)

    System.out.println(rnd.nextInt(20 - 10 + 1) + 10);

Entradas relacionadas: