viernes, 13 de septiembre de 2019

Una clase TIPOS DE DATOS Punto sin constructor y sin métodos.

Una clase TIPO DE DATOS puede no tener estructura o atributos. Puede no tener constructor,... entonces tiene automáticamente un constructor por defecto...., o puede no tener cuerpo de métodos.
Ahora, por ejemplo tenemos una clase TIPO DE DATOS con sólo estructura. (Funcionará el constructor por defecto).
public class Punto {
           public  double x = 13.0;
           public double y = 28.7;
}
Con esto tenemos la clase TIPO DE DATOS Punto, funcional pero muy poco operatividad.
El constructor por defecto será:
         Punto p = new Punto ();

Podemos hacerla ejecutar con una clase Programa:

public class ProgramaPunto{
   public static void main(String[] arg){
    
    Punto p = new Punto();
    System.out.println("x = "+p.x +"; "+ "y= "+p.y);
    //los atributos son llamados por el punto p como si fueran métodos,
    //por ser públicos o tb si fueran friendly
    double distanciaOrigen = Math.sqrt(p.x * p.x + p.y * p.y);
    System.out.println("distancia al origen = "+distanciaOrigen);
    // distanciaOrigen no es un método, sino una variable elemental double
    }
}
Si la ejecutamos, tendremos estos resultados:

x =13.0;  y = 28.7
distancia al origen = 31.506983352901305


Si un mismo objeto del heap es referenciado por varias variables referencia, todas ellas actúan como una sola, y se puede acceder al objeto y modificarlo desde cualquiera de ellas, siendo el mismo valor del objeto para todas ellas.
Si a una de las variables referencia se le asigna el valor null, sólo ésta variable referencia toma éste valor, quedando desreferenciada y el garbage collector la elimina.

No hay comentarios:

Publicar un comentario