Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: enelmenu en Octubre 11, 2017, 11:11:53 PM

Título: Que quiere decir new?
Publicado por: enelmenu en Octubre 11, 2017, 11:11:53 PM
Buenas!!!

Que quiere decir utilizar "new" en la declaracion de una variable?


Ejemplos:

static Rigidbody _rigidBody;

static new Rigidbody _rigidbody;
 
Rigidbody _rigidbody;

new Rigidbody _rigidbody;
 
Alguna diferencia?
Título: Que quiere decir new?
Publicado por: lightbug en Octubre 12, 2017, 12:44:12 AM
Cita de: enelmenu date=1507756313Alguna diferencia?
   


Si, del primer par --> segundo new ... y del segundo par --> segundo new ... gane?
 
 
 
Cita de: enelmenu date=1507756313Que quiere decir utilizar "new" en la declaracion de una variable?
   


La verdad es que nunca lo había usado asi al new, asi que investigué un poquito:
 
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/new (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/new)
 
Por como lo pusiste ahí es un modificador new, al parecer lo que hace es ocultar un miembro heredado de tu clase base, reemplazando la version de esta. Basicamente un usurpador en toda su gloria.
 
El ejemplito lindo de la pagina (C#);
 

public class BaseC
{
    public static int x = 55;
    public static int y = 22;
}
public class DerivedC : BaseC
{
    // Hide field 'x'.
    new public static int x = 100;
    static void Main()
    {
        // Display the new value of x:
        Console.WriteLine(x);
        // Display the hidden value of x:
        Console.WriteLine(BaseC.x);
        // Display the unhidden member y:
        Console.WriteLine(y);
    }
}
//100
//55
//22

 
x en la clase derivada no interfiere con la x de la clase base, directamente la reemplaza.
 
Lo del "static new" supongo que será parecido, para ocultar tipos static, no se, estoy adivinando.
 
 
 
 
Título: Que quiere decir new?
Publicado por: enelmenu en Octubre 12, 2017, 12:55:34 AM
Cita de: lightbug date=1507761852Si, del primer par --> segundo new ... y del segundo par --> segundo new ... gane?
   



Cita de: lightbug date=1507761852que hace es ocultar un miembro heredado de tu clase base
   


Ahh claro no me habia enterado, lo habia leido en herencias, es como dar prioridad.

Joya pense que cuando no se usaba en un miembro no heredado actuaba diferente, pero no jajajaj gracias juan! abrazo
Título: Que quiere decir new?
Publicado por: lightbug en Octubre 12, 2017, 01:12:41 AM
Cita de: enelmenu date=1507762534Joya pense que cuando no se usaba en un miembro no heredado actuaba diferente, pero no jajajaj gracias juan! abrazo
   


Ojo que hace 10 minutos que conocí su uso como modificador jaja, quizas alguien que lo haya usado realmente te pueda explicar mejor.