• Domingo 22 de Diciembre de 2024, 09:25

Autor Tema:  Clases  (Leído 2147 veces)

Tangerine

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Clases
« en: Viernes 8 de Abril de 2005, 05:54 »
0
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);

     }
}



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

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Clases
« Respuesta #1 en: Viernes 8 de Abril de 2005, 06:04 »
0
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.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Tangerine

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Clases
« Respuesta #2 en: Viernes 8 de Abril de 2005, 06:44 »
0
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);


Obviamente se que hay formas de hacer todo muchisimo mejor, pero quisiera saber, si la teoria esta mas o menos bien.

Tangerine

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Clases
« Respuesta #3 en: Viernes 8 de Abril de 2005, 09:42 »
0
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

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Clases
« Respuesta #4 en: Viernes 8 de Abril de 2005, 17:12 »
0
Bueno para el caso lo del perro vendria asi:
Código: Text
  1.  
  2. Class MisPerros
  3. {
  4.    int altura;
  5.    string nombre;
  6.    boolean macho;
  7.      
  8.    public MiPerro(boolean sexo)
  9.    {
  10.         macho = sexo;
  11.     }
  12.  
  13.    public string Ladrar()
  14.    {
  15.          return "GUau!!!"
  16.     }
  17. }
  18.  
  19.  

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
  1. public class Tester
  2.  
  3. {
  4.     static void Main ()
  5.     {
  6.         string ladrido;
  7.         MiPerro mc = new MiPerro(true );
  8.         ladrido=mc.Ladrar();
  9.     }
  10. }
  11.  

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.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

ErWillem

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Re: Clases
« Respuesta #5 en: Viernes 8 de Abril de 2005, 22:34 »
0
Creo que tu mayor problema comienza por entender que significan los terminos.

Los metodos son aquellas funciones pertenecientes a la clase.
Las propiedades se refiere a las variables o valores que almacena la clase.

Ahora supon que tienes una clase llamada "perro". Digamos que la clase es como decir el molde, que contiene todas las propiedades basicas de un perro: altura, edad, color de pelo, etc., cuando decimos que hay un "objeto" de tipo "perro" nos referimos a que se ha creado una variable de tipo perro, solo que se le llama objeto porque es creado de una clase, es solo cuestion de nombres pero al final es lo mismo. Al crear un objeto tipo perro es como si estuvieras comprando un perro al que le puedes elegir la altura, color de pelo, etc etc, o sea es un objeto que contiene todas las habilidades (metodos y propiedades) de cualquier otro perro pero personalizadas a tu gusto.

Si dices que sabes c++ me parece que debes estudiar bastante porque esos son terminos básico que ya deberias dominar, espero que le dediques un poco de tiempo sino te ahogaras en un baso de agua.

Saludos.  :lol:
Enlace a mis programas realizados durante mis estudios.
--------------------------------------------------------------
Si la vida te da limones, pide sal y tequila.

La fe mueve montañas, pero hay que pagar.

El ser humano es el unico que tropieza dos veces con la misma piedra.