No, entendí el concepto de “override ToString( )” <ol> <li>Por que usarlo para imprimir lo que contiene la clase ?</li> <li>Por que usar...

Gabriel Vladimir Valdivieso Vanegas

Gabriel Vladimir Valdivieso Vanegas

Pregunta
studenthace 5 años

No, entendí el concepto de “override ToString( )”

  1. Por que usarlo para imprimir lo que contiene la clase ?
  2. Por que usar ToString( ) ?
  3. Por que usar override , no me queda claro por que sobreescribir y que es lo que se sobreescribe ?
1 respuestas
para escribir tu comentario
    José Arbey López Martínez

    José Arbey López Martínez

    studenthace 5 años

    Primero que nada ToString viene directamente de la clase Object, clase de la que heredan todas las clases que creamos como "Escuela" por ejemplo, y esta clase Object viene con el método ToString() que devuelve la dirección de donde se encuentra la clase en cuestión, por eso vemos nombres de espacio y demás, en otros lenguajes vemos un código hexadecimal medio raro que es la dirección en memoria de ese objeto y el nombre de la clase.

    1. Porque es un método que puede hacer lo que le indiquemos, no solo ver el contenido de la clase, pero básicamente ese es su uso, (por convención) pasar a string información de la clase y mostrarlo.

    2. Lo usan en Java también para lo mismo, es convención de la documentación, pero insisto puedes usarlo para imprimir y realizar mas cosas.

    3. Override es una palabra clave que significa que sobre escribiremos el comportamiento de esa función ToString(), se usa porque por defecto ya trae la funcionalidad de darnos la dirección del objeto que pasemos como argumento, si no denotamos override, el programa trae la funcionalidad por defecto del dotnet Framework que es mostrarnos la dirección es como firmar un contrato y decir que cambiaremos esa funcionalidad, es todo.

    Ya por ultimo podemos usar una función propia y nueva para mostrar información, no tiene que ser esa, precisamente, pero podemos verlo así. Por cada objeto que creemos, ese nuevo método ocupara memoria, que no es lo mismo que solo llamarla desde una clase padre pero manipulando lo que tiene que hacer.

Fundamentos de C# con NET Core 2.1

Fundamentos de C# con NET Core 2.1

Desarrolla los fundamentos de programación en C# y .NET Core 2.1. Crea y gestiona entidades como escuelas, alumnos y cursos a través de clases, colecciones, y datos aleatorios. Aprende sobre métodos, propiedades, y el uso de LINQ para consultas eficientes. Ideal para principiantes.

Fundamentos de C# con NET Core 2.1
Fundamentos de C# con NET Core 2.1

Fundamentos de C# con NET Core 2.1

Desarrolla los fundamentos de programación en C# y .NET Core 2.1. Crea y gestiona entidades como escuelas, alumnos y cursos a través de clases, colecciones, y datos aleatorios. Aprende sobre métodos, propiedades, y el uso de LINQ para consultas eficientes. Ideal para principiantes.