Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: TheGhost(Z) en 10 Febrero 2011, 19:35 pm



Título: Clases
Publicado por: TheGhost(Z) en 10 Febrero 2011, 19:35 pm
Hola, Alguien sabe como se puede hacer esta clase:


Código:
 Dim miPerro As New Perro
With miPerro
     .Nombre = “Mario”
     .Raza = “Boxer”
     .Edad = 1
End With
Perros.Agregar(Perro)

La clase perros lo hago sin problema.  lo que no puede hacer es como enviar la clase perro. como hago para que una propiedad de la clase perros reciba como parametro otra clase. :( :(



Título: Re: Clases
Publicado por: Edu en 10 Febrero 2011, 19:57 pm
Escribe todo el codigo mejor porque no se entendera bien ya q esta la clase Perro y la clase Perros por lo q has escrito


Título: Re: Clases
Publicado por: seba123neo en 11 Febrero 2011, 03:36 am
Hola, supongamos que la clase Perro es asi:

Código
  1. Public Class Perro
  2.  
  3.    Private _Nombre As String
  4.    Private _Raza As String
  5.  
  6.    Public Sub New()
  7.        _Nombre = ""
  8.        _Raza = ""
  9.    End Sub
  10.  
  11.    Public Property Nombre() As String
  12.        Get
  13.            Return Me._Nombre
  14.        End Get
  15.        Set(ByVal value As String)
  16.            Me._Nombre = value
  17.        End Set
  18.    End Property
  19.  
  20.    Public Property Raza() As String
  21.        Get
  22.            Return Me._Raza
  23.        End Get
  24.        Set(ByVal value As String)
  25.            Me._Raza = value
  26.        End Set
  27.    End Property
  28. End Class

en el formulario podes tener una lista generica (o tambien una coleccion) del tipo Perro, o sea la collecion va a almacenar objetos de tipo Perro, y despues podes recorrerla y sacar los datos.

Código
  1. Public Class Form1
  2.  
  3.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.        Dim vListaPerros As New List(Of Perro)
  5.  
  6.        Dim vPerro1 As New Perro
  7.  
  8.        vPerro1.Nombre = "cachito 1"
  9.        vPerro1.Raza = "mestiza 1"
  10.        vListaPerros.Add(vPerro1)
  11.  
  12.        Dim vPerro2 As New Perro
  13.  
  14.        vPerro2.Nombre = "cachito 2"
  15.        vPerro2.Raza = "mestiza 2"
  16.        vListaPerros.Add(vPerro2)
  17.  
  18.        Dim vPerro3 As New Perro
  19.  
  20.        vPerro3.Nombre = "cachito 3"
  21.        vPerro3.Raza = "mestiza 3"
  22.        vListaPerros.Add(vPerro3)
  23.  
  24.        For Each perrito As Perro In vListaPerros
  25.            Debug.WriteLine("Nombre del Perro: " & perrito.Nombre)
  26.            Debug.WriteLine("Raza del Perro: " & perrito.Raza)
  27.        Next perrito
  28.  
  29.    End Sub
  30. End Class

saludos.


Título: Re: Clases
Publicado por: TheGhost(Z) en 14 Febrero 2011, 16:06 pm
Es una solución, pero no como la quería..

Hasta aquí lo he hecho sin problemas

Código:
Dim myPerro As New Perro

myPerro.Cantidad()        'Cantidad de perros en la base de datos
myPerro.Perro(254).Nombre 'Nombre del perro cuyo id es 254
myPerro.Agregar("Pedro","boxer",1) 'Agrega un perro más a la base de datos


Lo que no me gusta es la manera de agregar a un perro. es decir me gustaría cambiar esto:

Código:
Dim myPerro As New Perro
myPerro.Agregar("Pedro","boxer",1) 'Agrega un perro más a la base de datos

por este otro que se ve mas bonito:

Código:
Dim p As Perro
     .Nombre = "Pedro"
     .Raza= "Boxer"
     .Edad = 1
End With

dim Perros As New Perros
Perros.Agregar(p)




Título: Re: Clases
Publicado por: Edu en 14 Febrero 2011, 18:15 pm
Estas entreverando todo creo o solo nos dejas una parte del codigo..