Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Dreamcacher en 5 Octubre 2011, 13:09 pm



Título: Problema con Clases
Publicado por: Dreamcacher en 5 Octubre 2011, 13:09 pm
Bueno, hacia tiempo que no posteaba por el foro, pero parece que esta vez voy a necesditar algo de ayuda, bueno, pues la cuestion es que estoy programando un pequeño juego con Sprites con Visual Basic.NET (2003) y hay hay algunas cosas que quiero crear como cubos y asi, pero en ejecucion, es decir, que al hacer una accion determinada, aparezca un label con fondo negro, por ejemplo, asta ahi bien, con el tema de Dim cubo as new label, y luego las propiedades, y todo eso dentro de una funcion, que al llamarla, lo genere, hasta aqui todo bien, pero puesto que son varias cosas, y el usuario, puede interatuar con ellas, habia decidido crear una clase para hacer esto, pero con clases, no me funciona y ya que nunca he trabajado con ellas (aunque he leido bastante y me se bastante teoria), me parecia una buena forma de aprender, haber si podeis echarme una mano.

Os explico aqui mas o menos que hice, y me decis en que he metido la gamba

Lo primero que hice fue crear el archivo de Clase
luego le cambie el nombre a la clase
puse el Dim cubo as New Label y el Dim vForm1 as New Form1 (para el controls.add())
cree las funciones dentro (Public Sub) por ejemplo cubo()
y dentro de las funciones, las propiedades, y el vForm1.controls.add(cubo)

en los ejemplos que he visto por internet no he visto nada de constructores, asique no puse pero puede que el error venga de ahi...

luego en el Form1, cree la clase con el Dim claseObejetos as new objetos

y luego en el evento por ejemplo onclick, de un button, lo ponia lo de objeto.cubo()

y no me funcionaba, pero si la funcion estaba en el form1, si, alguna idea?


Título: Re: Problema con Clases
Publicado por: Keyen Night en 5 Octubre 2011, 20:51 pm
Las clases son la bendición de visual studio :xD puedes simplificar muchisimas cosas, las clases simples se basan en 3 cosas un contructor que inicializa los objetos necesarios y da valor a las variables usando o no parametros, los miembros públicos que están a disposición del usuario y los miembros privados que están a disposición de los públicos pero no a disposición del usuario. Entiendase por miembros subs, variables, funciones, propiedadesm etc.

Un ejemplo, sencillo, recuerda tener siempre en cuenta las 3 cosas para una clase simple. Igualmente te recomiendo para tu caso investigar sobre herencia y como funcionan las palabras para las declaraciones (private, public, shared, readonly, shadows, etc.)

Código
  1. Public Class Persona
  2.  
  3.    Private _Nombre As String, _
  4.    _Edad As Byte
  5.  
  6.    Public Property Nombre() As String
  7.        Get
  8.            Return _Nombre
  9.        End Get
  10.        Set(ByVal value As String)
  11.            _Nombre = value
  12.        End Set
  13.    End Property
  14.  
  15.    Public Property Edad() As Byte
  16.        Get
  17.            Return _Edad
  18.        End Get
  19.        Set(ByVal value As Byte)
  20.            _Edad = value
  21.        End Set
  22.    End Property
  23.  
  24.    Public ReadOnly Property EsMayorDeEdad() As Boolean
  25.        Get
  26.            Return _Edad >= 18
  27.        End Get
  28.    End Property
  29.  
  30.    Public Sub New(ByVal Nombre As String, ByVal Edad As Byte)
  31.        _Nombre = Nombre
  32.        _Edad = Edad
  33.    End Sub
  34.  
  35. End Class
  36.  

Si pones el código de la clase te puedo ayudar con el error específico