Creo que está bien en programación algorítmica, si ese es el término correcto? Solía jugar con el turbo pascal y el lenguaje ensamblador 8086 en la década de 1980 como un hobby. Pero solo proyectos muy pequeños y realmente no he hecho ninguna programación en los últimos 20 años desde entonces. Así que estoy luchando por entenderme como un nadador que se está ahogando.¿Qué sucede cuando creas una instancia de un objeto que no contiene ningún estado en C#?
Así que tal vez esta es una pregunta muy niave o sólo estoy haciendo no tiene sentido en absoluto, pero decir que tengo un objeto clase de la siguiente manera:
class Something : IDoer
{
void Do(ISomethingElse x)
{
x.DoWhatEverYouWant(42);
}
}
Y entonces hago
var Thing1 = new Something();
var Thing2 = new Something();
Thing1.Do(blah);
Thing2.Do(blah);
hace Thing1 = Thing2? ¿"algo nuevo()" crea algo? ¿O no es muy diferente de tener una clase estática, excepto que puedo pasarla e intercambiarla, etc.
Es el procedimiento "Hacer" en la misma ubicación en la memoria para Thing1 (blah) y Thing2 (bla) objetos? Quiero decir cuando lo ejecutas, ¿significa que hay dos procedimientos Something.Do o solo uno?
Pero, ¿qué es esto en realidad en la memoria? Detrás de la referencia, hay un puntero que apunta al estado del objeto en la memoria. Entonces, ¿a dónde apunta? –
Es fantástico que desee este nivel de detalle, pero es difícil responder con tantos detalles aquí. Sin embargo, puedo recomendar un excelente libro que responderá a sus preguntas desde un punto de vista .NET, que es el CLR de Jeffrey Richter a través de C#. –
Creo que Brian Gideon respondió esto. –