Me puedes decir sobre este código de java

Public class Punto extends Figura {
private double x;
private double y;
public Punto(){
x=0;
y=0;
}
public Punto(double cx,double cy){
x=cx;
y=cy;
}
public double getX(){
return x;
}
public double getY(){
return y;
}
public void ponX(double d){
x=d;
}
public void ponY(double d){
y=d;
}
public void desplaza(double deltaX,double deltaY)
{
x+=deltaX;
y+=deltaY;
}
public String toString(){
return"("+x+","+y+")";
}
public boolean esCerrada(){
return false;
}
public void leer(){
}
}
para que sirve la clase public String toString(){

1 Respuesta

Respuesta
1
Ok amigo davisfree en primer lugar la sentencia "public String toString(){" no hace referencia a una clase, es decir no es una clase, más bien es un método, en este ejemplo de código que me envías la clase es Punto y "public String toString()" es un método de la clase Punto, así como también son métodos getX(), getY(), esCerrada(), etc.
Ahora me imagino que lo que me quieres preguntar es para que sirve el método toString() en tu clase Punto. Es sencillo, el método toString() es un método que toda clase Java tiene y se encuentra escrito en la clase padre de todos las clases de Java, esa es la clase Object, toda clase escrita en java automáticamente hereda sus atributos y métodos de esa clase, es por eso que java es un lenguaje fuertemente orientado a objetos. Entonces siguiendo con el metodo toString(), ese metodo es la representacion en un String del objeto instanciado. El método toString() es invocado automáticamente cuando queremos mostrar el objeto por medio de un System. Out. Println(), o en cualquier otro entorno gráfico, o en cualquier otra situación donde se requiera que el objeto sea convertido a String, es por eso que es importante que en ese método se devuelva un String con los atributos necesarios para distinguir un objeto de otro perfectamente, en tu ejemplo estas devolviendo un String con los atributos por, y en formato (x, y) lo cual la representación de un punto en el plano cartesiano. Para entender mejor lo que te he dicho podríamos hacer esto:
Punto p = new Punto(3.5,0.5);
System.out.println("Este es un punto en el plano: "+p);
Este código dará la siguiente salida --------> Este es un punto en el plano: (3.5,0.5)
Ahora si quitamos el método toString() de la clase punto y realizamos lo mismo obtendríamos algo como esto:
Este es un punto en el plano: Punto@6f7dsda5
Lo cual es lo que devuelve el método toString() de la clase Object porque la clase Object no tiene conocimiento de los atributos x, y de su clase hija Punto y por lo tanto devuelve un String con este formato: "el nombre de la clase + @ + el hash code del objeto".
Creo que eso es todo cualquier pregunta que tengas no dudes en consultarme y por favor no olvides finalizar la pregunta.
¿Mira este problema sobre cadenas es el siguiente como lo podría hacer?
La clase Análisis Sintáctico es un árbol que debe almacenar toda la información del análisis.
Un dato de tipo cadena con el texto analizado
Una cadena con el tipo de elemento eb cuestión(por ejemplo: "oracion", "sintagma nominal","verbo","sustantivo","adjetivo",...)
Una cadena con la función que desempeña (por ejemplo:"proposición principal","sujeto","complemento directo","nucleo")
Y un vector componentes, que almacena a los hijos del objeto. Es decir, los análisis sintácticos de cada uno de los elementos en que se descompone el texto del objeto actual si es que existen
Por ejemplo el análisis de "Los alumnos"(Sintagma nominal-sujeto) tien dos hijos
"Los" (Articulo-determinante)
"alumnos" (Sustantivo-núcleo)ç
Bueno creo que esa seria otra pregunta, ya te respondí la inicial y creo que seria justo que la finalizaras primero y luego me haces esta pregunta, ¿vale?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas