jueves, 31 de marzo de 2011

Herencia

 

Con la herencia, podemos crear tantas clases que queramos y heredar sub-clases de otras sub-clases.
toda esta estructura de clases y subclases, se denomina Jerarquía de clases, un término que leerán muy a menudo.

dentro de la jerarquía de clases, tenemos a la clase superior, clase padre o clase base, que será la primera clase creada, teóricamente la clase base debe ser abstracta .

la clase inferior, o clase hija, clase heredada, subclase, es la que le precede a la clase padre. Todas estas heredaran atributos sin importar la cantidad de ancestros que existan.

La herencia también tiene otra extraordinaria cualidad: es posible ocultar o redefinir los métodos heredados.
la redefinición de los métodos ya la vimos, se trata de crear un método nuevo con el mismo nombre y mismos argumentos usando la sobrecarga.

claro esta es una redefinición total, porque sería escribiendo todo desde cero, pero podemos redefinir un método basándonos en el método heredado, es decir, no vamos a escribir desde cero, solo añadimos lo nuevo a lo que ya tenemos heredado.

tomemos la clase OperacionesMatematicas.java como clase base


public class OperacionesMatematicas {
    private int RESULTADO;
 
    public Integer sumar(int OPERANDO1,int OPERANDO2){
        RESULTADO=OPERANDO1+OPERANDO2;
        return RESULTADO;
    }
}
 
 
ahora crearé OperacionesMatematicas1.java que será la clase hija


public class OperacionesMatematicas1 extends OperacionesMatematicas{
   private int RESULTADO;
 
   public Integer sumar(int OPERANDO1, int OPERANDO2, int OPERANDO3){
      RESULTADO =super.sumar(OPERANDO1,OPERANDO2) + OPERANDO3;
        return RESULTADO;
    }        
}
 
 
ahora le daremos uso creando el objeto Sumar a partir de la clase hija:


public static void main(String[] args) {
        OperacionesMatematicas1 Sumar=new OperacionesMatematicas1();
 
        System.out.println(Sumar.sumar(30, 4,6));
    }
 
 


observen que aparecen los 2 métodos y hay una sentencia nueva llamada super
super es una variable especial que sirve para hacer referencia a la clase padre heredada, podemos tener métodos con el mismo nombre, mas sin embargo, podemos acceder a métodos ancestros mediante super. 

la redefinición la estamos haciendo en la clase OperacionesMatematicas1.java, observen que simplemente llamo a sumar de 2 argumentos (heredado) y añado la otra operación, que es sumar un tercer argumento.
 no hay desperdicio de código
en programas con cantidades industriales de lineas de código es de mucho agradecer la redefinición de métodos a través de la herencia.

 :):):):)

THIS

La palabra clave this se refiere al objeto de contexto (comúnmente conocido como el objeto actual [current object]). En general, en un método, this se refiere a la invocación del objeto.

Utilice el término this para referirse al objeto actual. En general, this se refiere al objeto que se llama en un método. Utilice this como se indica a continuación:

this[.Nombrepropiedad]














jueves, 24 de marzo de 2011

PROGRAMA CON RAIZ CUADRATICA, POTENCIA, Y AREAS DE FIGURAS ARITMETICAS

En las tres primeras imagenes observamos  un programa que maneja una ecuacion cuadratica,  utiliza varios objetos y estos contenidos en diversas subclases


En esta imagen encontramos una de las subclases la cual nos nombra la declaracion de la potencia y la raiz, las cuales van a ser objetos a manejarsen en el programa y las nombramos por medio del metodo Math.
En esta imagen visualizamos la segunda subclase  del programa la cual nos muestra el SENO, COSENO Y TANGENTE, pertenecientes a los catetos que vamos a manejar para poder hallar los perimetros de determinadas figuras aritmeticas, proceso el cual se va a usar en el programa
En esta imagen tenemos tambien otroa subclasecon unas lineas de codigo, cuyos bloques poseen diversas operaciones las cuales se manejan en el programa.
En la siguiente imagen tenemos la ultima subclase la cual en sus lineas de codigo contiene el bloque con las areas de las diferentes figuras aritmeticas del programa.
Y finalmente las dos ultimas imagenes muestran el programa ya ejecutado.

jueves, 17 de marzo de 2011

EJERCICIO No CUATRO


EJERCICIO SIN CORRECCION
class Cuenta{
 protected int numero cuenta;
 protected double saldo;
 public Cuenta (int cuenta, double inicial){
  numero cuenta=cuenta;
  saldo=inicial;
 }//FIN CONSTRUCTOR CUENTA
 public void depositar(double cantidad){
  saldo=saldo+ cantidad;
 }//FIN METODO DEPOSITO
 public double saldo(){
  return saldo;
 }//FIN METODO SALDO
}//FIN CLASE DE CUENTA
class Banco{
 public static void main (String[]Args){ //SE CREA LA CUENTA
 Cuenta cuenta_1=new Cuenta(123456, 2505.32);
 //SE CONSULTA EL SALDO
 double total cuenta=cuenta_1.saldo;
 System.out.println("Total actual en la cuenta: "+total cuenta +"EUROS ");
 }//CIERRE DEL MAIN
}//FIN DE LA clase Banco


EJERCICIO CORREGIDO Y COMPILADO
EJERCICIO DOS

TRY CATCH

jueves, 10 de marzo de 2011


QUE ES Y COMO FUNCIONA TRY-CATCH ?:

EL TRY CATCH  es un controlador que permite solucionar los errores que se presenten en un bloque de codigo mientras un programa se este ejecutando.
La instrucción try-catch consta de un bloque try seguido de una o más cláusulas catch, las cuales especifican controladores para diferentes excepciones.
El bloque try contiene el código protegido que puede causar la excepción. Este bloque se ejecuta hasta que se produce una excepción o hasta completarse satisfactoriamente; la cláusula catch se puede utilizar sin argumentos, en cuyo caso captura cualquier tipo de excepción y se conoce como cláusula catch general; también puede aceptar un argumento de objeto derivado de System.Exception, en cuyo caso trata una excepción específica.
Es posible utilizar más de una cláusula catch específico en la misma instrucción try-catch. En este caso, el orden de las cláusulas catch es importante, ya que las cláusulas catch se examinan por orden. Las excepciones más específicas se capturan antes que las menos específicas.

PROGRAMA SUBCLASE "LINDA"


En este programa observamos lo que se denomina una subclase de un mismo programa
En donde el programa principal es programa1 y la subclase es Linda

Este es el SWITCH que recopila los ejemplos de los ejercicios

1.      Do-while         (SWITCH “todo el programa”)
2.      Secuencial       (Área de un triángulo)
3.      Condicional    (Análisis “Adivina el Numero”)
4.      For                 (Suma de Matrices)
5.      Vector            (Operaciones entre vectores)
En la primera Imagen Observamos lo que es la clase los métodos de entrada y el ménu del programa






ENCAPSULAMIENTO

ENCAPSULAMIENTO: Es el  ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto.

Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones.
De esta forma el usuario de la clase puede obviar la implementación de los métodos y propiedades para concentrarse sólo en cómo usarlos. Por otro lado se evita que el usuario pueda cambiar su estado de maneras imprevistas e incontroladas.

POLIMORFISMO

Es la  capacidad para que varias clases derivadas de una antecesora utilicen un mismo método de forma diferente.

Por ejemplo, podemos crear dos clases distintas: Pez y Ave que heredan de la  superclase Animal. La  clase Animal tiene el método abstracto mover que se implementa de forma distinta en cada una de las subclases (peces y aves se mueven de forma distinta).


Como se mencionó anteriormente, el concepto de polimorfismo se puede aplicar tanto a funciones como a tipos de datos. Así nacen los conceptos de funciones polimórficas y tipos polimórficos. Las primeras son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta; los tipos polimórficos, por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está especificado.

PRIVATE PROTECTED PUBLIC

PRIVATE: Este término indica que la clase tiene un acceso restringido, sobre todos los usuarios excepto el creador o programador, y usuarios seleccionados.
PROTECTED: Este término indica que la clase mencionada está protegida bajo seguridad,  por el autor. 
 PUBLIC: Este término indica que la clase mencionada es accesible para cualquier usuario.