Los métodos dinámicos, como son métodos también llamados de objeto, se invocan con el objeto correspondiente. Ej: p1.distancia(p2); Nos da la distancia entre los dos puntos p1 y p2;
Los métodos estáticos, también llamados de Clase, se invocan con la Clase: Punto.distancia(p1,p2); Nos da la distancia entre los dos puntos p1 y p2; También se puede invocar un método estático mediante cualquier objeto de la clase: p3.distancia(p1,p2);
Nos da la distancia entre los dos puntos p1 y p2;
import java.util.*;
//Clase de tipo de DATO:
public class Punto{//Clase Punto en el plano.
//Estructura del objeto: el objeto punto se estructura con dos variables dobles: Es la agrupación
//de estas dos variables o atributos.
private double x;
private double y;
static private int n;
/**
* Constructor de los objectos de la clase Punto
*/
public Punto(){
// inicialización de una instancia u objeto de dos variables elementales. El punto se
//encuentra en el origen.
x = 0;
y = 0;
n++;
}
public Punto(double x, double y){
// inicialización de una instancia u objeto de dos variables elementales. El punto se
//encuentra en los valores de x, y que le pasamos como parametros.
this.x = x;
this.y = y;
n++;
}
//metodos para manipular los objetos punto:
public double getX(){//conocemos el valor del atributo x del punto
return this.x;
}
public double getY(){//conocemos el valor del atributo y del punto
return this.y;
}
public static double getN(){//conocemos el valor de n
return n;
}
public void setX(double x){//cambiamos el valor del atributo x del punto
this.x = x;
}
public void setY(double y){//cambiamos el valor del atributo y del punto
this.y = y;
}
public double distanciaOrigen(){
double x1 = this.x, y1 = this.y;
double distancia = Math.sqrt(x1*x1+y1*y1);
return distancia;
}
public double distancia(Punto p2){
double x1 = this.x, y1 = this.y;
double x2 = p2.x, y2 = p2.y;
double distancia = Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
return distancia;
}
//admite el mismo nombre porque tiene parámetros distintos
public static double distanciaOrigen(Punto p1){
double x1 = p1.getX(), y1 = p1.getY();
double distancia = Math.sqrt(x1*x1+y1*y1);
return distancia;
}
//admite el mismo nombre porque tiene parámetros distintos
public static double distancia(Punto p1, Punto p2){
double x1 = p1.getX(), y1 = p1.getY();
double x2 = p2.getX(), y2 = p2.getY();
double distancia = Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
return distancia;
}
}
No hay comentarios:
Publicar un comentario