jueves, 24 de febrero de 2011

switch





encapsulamiento

El encapsulamiento es el proceso por el cual los datos que se deben enviar a través de una red se deben colocar en paquetes que se puedan administrar y rastrear. El encapsulado consiste pues en ocultar los detalles de implementación de un objeto, pero a la vez se provee una interfaz pública por medio de sus operaciones permitidas. Considerando lo anterior también se define el encapsulado como la propiedad de los objetos de permitir el acceso a su estado únicamente a través de su interfaz o de relaciones preestablecidas con otros objetos.

POLIMORFISMO

Característica de Java que permite tomar como algo igual a un nivel superior dos cosas que son diferentes a
un nivel más bajo. Ejemplo: animal, gato y perro. Los dos son animales a un nivel alto de abstracción (animal) pero diferentes a un nivel inferior. El polimorfismo básicamente permite olvidarse de ciertas carcterísticas específicas de varios objetos para centrarse en lo que tengan en común, en lo que los haga iguales

ENCAPSULAMIENTO DE CLASES

private: Solo se puede acceder a las variables desde el codigo de la propia clase.

 protected: Se pude acceder a las variables desde las clases que esten en el mismo paquete o que "hereden" de esa clase.

public: Se puede acceder a las variables desde cualquier otra clase (no solo las del paquete).

TIPOS DE SUBCLASES


Tipos de Clases


Hasta ahora sólo se ha utilizado la palabra clave public para calificar el nombre de las clases que hemos visto, pero hay tres modificadores más. Los tipos de clases que podemos definir son:
abstract
Una clase abstract tiene al menos un método abstracto. Una clase abstracta no se instancia, sino que se utiliza como clase base para la herencia.

final
Una clase final se declara como la clase que termina una cadena de herencia. No se puede heredar de una clase final. Por ejemplo, la clase Math es una clase final.

public
Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas.

synchronizable
Este modificador especifica que todos los métodos definidos en la clase son sincronizados, es decir, que no se puede acceder al mismo tiempo a ellos desde distintos threads; el sistema se encarga de colocar los flags necesarios para evitarlo. Este mecanismo hace que desde threads diferentes se puedan modificar las mismas variables sin que haya problemas de que se sobreescriban.

subclase

Un mecanismo clave que permite obtener estas ventajas es la redefinición, que especializa el comportamiento para algunos métodos. En ausencia de redefinición, cualquier alteración del comportamiento (aunque se trate de una alteración compatible) podría forzar una reimplementación completa

herencia

La idea de la herencia es permitir la creación de  nuevas clases basadas en clases existentes.
Cuando heredamos de una clase existente, reusamos  (o heredamos) métodos y campos, y agregamos nuevos campos y métodos para cumplir con la situación nueva.
Cada vez que encontremos la relación "es-un" entre dos clases, estamos ante la presencia de herencia.

La clase ya existente es llamada superclass, o clase base, o clase padre.
La clase nueva es llamada subclase, clase derivada, o clase hija.

A través de la herencia podemos agregar nuevos campos, y podemos agregar o sobre montar métodos (override). Sobre montar un método es redefinirlo en la case heredada.

destructor?

Cuando un objeto no va a ser utilizado, el espacio de memoria de dinámica que utiliza ha de ser explícitamente.
El recolector de basura será el encargado de liberar una zona de memoria dinámica que había sido reservada mediante el operador new, cuando el objeto ya no va a ser utilizado más durante el programa (por ejemplo, sale del ámbito de utilización, o no es referenciado nuevamente).

constructor

El constructor es un tipo específico de método que siempre tiene el mismo nombre que la clase.
Cuando se declara una clase en Java, se pueden declarar uno o más constructores opcionales que realizan la inicialización cuando se instancia (se crea una ocurrencia) un objeto de dicha clase.

public class Arboles  {

    public Arboles() {
      System.out.println("Un árbol genérico");
    }
 
    public Arboles(String tipo) {
     System.out.println("Un árbol tipo " + tipo);
    }

    public Arboles(int altura) {
     System.out.println("Un árbol de " + altura + " metros");
   }

    public Arboles(int altura,String tipo) {
     System.out.println("Un " + tipo + " de " + altura + " metros");
   }
 
    public static void main(String args[]) {
Arboles arbol1 = new Arboles(4);
        Arboles arbol2 = new Arboles("Roble");
        Arboles arbol3 = new Arboles();
        Arboles arbol4 = new Arboles(5,"Pino");
     }
}

definicion de un metodo

como se crea

cuenta1.depositar(300);
Esta línea de código invoca al método despositar y provoca un cambio de valor en el atributo saldo del objeto de la clase CuentaBancaria cuya referencia es cuenta1: antes de la llamada, el saldo era de 1000, pero después será de 1300.


Ejemplo:
...

public void retirar(double cantidad) throws NoFondosDisponiblesException {

if (saldo >= cantidad) {


saldo = saldo - cantidad;

}
else


throw new NoFondosDisponiblesException("No hay suficientes fondos");
}
public void depositar(double cantidad){

if(cantidad > 0){


saldo = saldo + cantidad;

}
}
...

metodo

Los métodos permiten a las clases modificar el comportamiento de los objetos, cambiando los valores de los atributos e interactuando con otros métodos de la clase que expongan una determinada funcionalidad precisada
Los métodos son funciones que pueden ser llamadas dentro de la clase o por otras clases:
  • Un bloque de código que tiene un nombre,
  • recibe unos parámetros o argumentos (opcionalmente),
  • contiene sentencias o instrucciones para realizar algo (opcionalmente) y
  • devuelve un valor de algún Tipo conocido (opcionalmente).

objeto

un objeto es una representacion  de una entidad real, de manera que  cuando nos referimos a este estamos hablando del conjunto de características que posee.
 
un objeto consta de atributos y métodos.

 como se crea?

se definen las características del objeto(en este caso uno de clase 'persona' )

class Persona
  {
     string Nombre; // Campo de cada objeto Persona que almacena su nombre
     int    Edad;   // Campo de cada objeto Persona que almacena su edad     string NIF;    // Campo de cada objeto Persona que almacena su NIF
 
     void Cumpleaños()   // Incrementa en uno la edad del objeto Persona
     {
              Edad++;
     }
                       
     Persona (string nombre, int edad, string nif) // Constructor
     {
              Nombre = nombre;
              Edad = edad;
              NIF = nif;
     }
  }

clase

una clase explica los atributos y métodos que puede tener un objeto que pertenezca a esa clase (un objeto una representacion de las cualidades de una entidad real).

Como se crea:
1. Importar un paquete io de JAVA (import java.io.*;)
2. Definir el flujo de caracteres de la entrada :

public class readData {
public static String readStr() {
String sdato = "";
try{
BufferedReader readIn = new BufferedReader(new InputStreamReader(System.in));
sdato = readIn.readLine();
} catch( IOException e) {
System.err.println("Error: " + e.getMessage());
}
return sdato;
}
}
 compilacion:
Así que des pues de esto compilamos, la clase para crear el *.class, una vez compilada la clase podemos utilizarla en nuestros programas, nada mas que solo nos serviría para datos de tipo String. Aquí un ejemplo de como se utilizaría:
import java.io.*;
class testRead01{
public static void main(String args[]){
String Nombre = "";
System.out.println("Escribe tu nombre: "); Nombre = readData.readStr();
System.out.println("Tu nombre es: " + Nombre);
}
}