CLR: .Net / Mono / Boo / Otros CLR > C#
Clases
Tangerine:
Como va gente, despues de tanto tiempo sin visitar el foro, aca vuelvo.
Ya que dispongo de bastante tiempo, se me dio por empezar a darle a c#, ante todo aclaro que mi experiencia en lo que se refiere a programacion es muy poca (C/C++) por lo tanto este tipo de dudas les van a parecer ridiculas, pero realmente hay cosas que todavia no entiendo.
Pude conseguir el libro Programming C# for Visual Studio.NET de O'Reilly todo venia de perlas hasta que me encontre con una pequeña duda.
Aca un ejemplo:
--- Citar ---
using System;
public class MyClass
{
public void SomeMethod(int firstParam, float secondParam)
{
Console.WriteLine(" Here are the Parameters received:{0},{1}"
firstParam, secondParam);
}
}
public class Tester
{
static void Main ()
{
int howManyPeople = 5;
float pi = 3.14f;
MyClass mc = new MyClass( );
mc.SomeMethod(howManyPeople, pi);
}
}
--- Fin de la cita ---
Como podran apreciar, la parte que realmente no me queda clara del todo es la que esta en letra negrita, entiendo que la segunda linea mc.SomeMethod(howManyPeople, pi);, esta pasando los valores de howManyPeople y pi a la clase MyClass. Lo que no entiendo es la primera linea de todas MyClass mc = new MyClass();, va mejor dicho a medias, esta linea que funcion cumple??, inicializar MyClass??, ahora el motivo de ponerle mc es para identificarla mas facilmente o si queria le podria haber puesto as??? sd??? we???.
Desde ya, perdon por el tipo de duda que tengooooooooooooooo!!.
Saludos
JuanK:
CREO QUE NECESITAS ESTRUDIAR DEMASIADO.... :smartass: .
estas muy crudo.
int howManyPeople = 5;
float pi = 3.14f;
MyClass mc = new MyClass( );
Ahi declaramos dos variables, y seguidamente creamos un objeto mn que es una instancia de la clase MyClass... la clase siempore es una plantilla para crear objetos, por si sola no hace nada... salvo algunas excepciones que por el momento no sdebes estudiar.
y esto es:
mc.SomeMethod(howManyPeople, pi);
recuerda que mc es un objeto creado con la plantilla MyCalss, asi que como fue creado con esa plantilla mc hereda los metodos que existen en la plantilla, si te fijas en la clase (la plantilla) alli existe un metodo (o funcion para que me entiendas) que se llama SomeMethod, asi que el objeto creado con esa plantilla tambien lo tendra, por eso se hace:
mc.SomeMethod(howManyPeople, pi);
que no es mas que llamar el metodo SomeMethod del objeto mc, y le pasamos los parametros con el cual fue creado.
Tangerine:
Desde ya muy agradecido juank, estuve releyendo el manual y junto con tu explicacion, logre entender lo siguiente (por donde creo que venia mi confusion).
Una clase seria el perro, y sus objetos, la altura, color de ojos, peso, edad etc.
Digo lo correcto o estoy espantandote?? :scream:
Por ejemplo intente hacer esto y me salio perfectamente en la consola, es decir que esa clase ahora tiene 3 objetos( edad, altura y peso), que son de la clase perro??.
--- Citar ---int edad = 10;
float altura = 50.2f;
float peso = 33.5f;
Perro ed = new Perro();
ed.MetodoEdad(edad);
Perro al = new Perro();
al.MetodoAltura(altura);
Perro pe = new Perro();
pe.MetodoPeso(peso);
--- Fin de la cita ---
Obviamente se que hay formas de hacer todo muchisimo mejor, pero quisiera saber, si la teoria esta mas o menos bien.
Tangerine:
Me falto agregar algo :P , por suerte pude conseguir el libro de Deitel C# How To Program, y realmente que lo veo muchisimo mas claro lo que me querias explicar juank.
JuanK:
Bueno para el caso lo del perro vendria asi:
--- Código: Text --- Class MisPerros{ int altura; string nombre; boolean macho; public MiPerro(boolean sexo) { macho = sexo; } public string Ladrar() { return "GUau!!!" }}
Es una plantilla para hacer perros, que posee variables (atributos) que indican la altura, el sexo y un metodo (funcion) que es ladrar.
--- Código: Text ---public class Tester { static void Main () { string ladrido; MiPerro mc = new MiPerro(true ); ladrido=mc.Ladrar(); }}
mc si es un objeto creado con la palntilla (clase) MiPerro, y como es una copia de la plantilla pues tiene todo lo mismo, por eso se puede usar el metodo de ladrar en el objeto mc de clase Mi Perro.
Navegación
[#] Página Siguiente
Ir a la versión completa