Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: criskapunk en 4 Noviembre 2010, 14:33 pm



Título: [Definición] Cliente de una clase (Solucionado)
Publicado por: criskapunk en 4 Noviembre 2010, 14:33 pm
Buenas chicos,

Estoy empezando a leer algo sobre POO en C# y me surgio una duda. En el manual habla sobre el cliente de una clase. Me podrian explicar a que se refiere?

Un saludo y gracias :)


Título: Re: Cliente de una clase
Publicado por: [D4N93R] en 4 Noviembre 2010, 14:52 pm
Podrías poner un poco más del contexto, qué al menos yo, no le encuentro mucho sentido.

Un saludo.


Título: Re: Cliente de una clase
Publicado por: criskapunk en 4 Noviembre 2010, 14:59 pm
Copiado textual del manual:

Citar
Cuando hable del cliente de una clase me estoy refiriendo al código que está usando esa clase, es decir, instanciándola o invocando métodos de la misma, independientemente de si este código forma parte del mismo programa o de otro distinto, aun escrito en otro lenguaje.

Enlace al manual:

Código:
http://www.elguille.info/NET/cursoCSharpErik/Entrega1/Entrega1.htm

Un saludo y gracias ;)


Título: Re: Cliente de una clase
Publicado por: [D4N93R] en 4 Noviembre 2010, 15:12 pm
Ah ok!

Vale, te explico.

Imagina que tengo la clase User.

Y en mi programa voy a usar la clase usuario:
Código
  1. public User CreateUser()
  2. {
  3.    return new User();
  4. }
  5.  

Ese código completo que está instanciando a User es el cliente. Con esto nos referimos al código que utiliza a una clase.


Título: Re: Cliente de una clase
Publicado por: criskapunk en 4 Noviembre 2010, 15:30 pm
Es decir, el cliente seria todo el codigo que tiene la clase al momento de crearla?


Título: Re: Cliente de una clase
Publicado por: [D4N93R] en 4 Noviembre 2010, 15:38 pm
No no, el cliente es el codigo que usa la Clase, no EN la clase. Es decir no el codigo que define a USER sino el que lo llama, por así decirlo.


Título: Re: Cliente de una clase
Publicado por: criskapunk en 5 Noviembre 2010, 19:41 pm
A ver si me quedo un poco mas claro.

El cliente de la clase seria el codigo que crea los objetos e invoca los metodos?

En el siguiente codigo (De lo poco que pude hacer hasta ahora con el apunte :P)

Código
  1. Public Class Suma
  2.  
  3.    Private operando1 As Integer
  4.    Private operando2 As Integer
  5.    Private resultado As Integer
  6.  
  7.    Public Sub Sumar(ByVal op1 As Integer, ByVal op2 As Integer)
  8.        resultado = op1 + op2
  9.    End Sub
  10.  
  11.    Public Function ObtenerResultado() As Integer
  12.        Return resultado
  13.    End Function
  14.  
  15. End Class

Código
  1. Module Module1
  2.  
  3.    Sub Main()
  4.        Dim adicion As Suma
  5.        adicion = New Suma()
  6.        adicion.Sumar(10, 40)
  7.        Console.WriteLine(adicion.ObtenerResultado())
  8.        Console.ReadLine()
  9.    End Sub
  10.  
  11. End Module

Las lineas remarcadas vendrian a ser el cliente, no?

Un saludo ;)


Título: Re: Cliente de una clase
Publicado por: [D4N93R] en 5 Noviembre 2010, 20:00 pm
No, te voy a remarcar el cliente:

Código
  1. Module Module1
  2.  
  3.    Sub Main()
  4.        Dim adicion As Suma
  5.        adicion = New Suma()
  6.        adicion.Sumar(10, 40)
  7.        Console.WriteLine(adicion.ObtenerResultado())
  8.        Console.ReadLine()
  9.    End Sub
  10.  
  11. End Module

En ese caso sería la función completa. Normalmente no es toda la clase a menos de que sea algo core de la clase que use la otra clase xP ok ya me enredé un poco. hehe

Un saludo!


Título: Re: Cliente de una clase
Publicado por: criskapunk en 5 Noviembre 2010, 20:17 pm
No termino de entender por que es todo el programa. Entonces el cliente vendria a ser todo el programa que cree objetos a partir de la clase o invoque sus metodos?

En mi anterior codigo, supongamos que dentro del main hay una funcion, y dentro de ella es donde se crea el objeto y se utilizan los metodos. El cliente seria unicamente la funcion en ese caso?

Un saludo y muchas gracias por la paciencia [D4N93R] :P


Título: Re: Cliente de una clase
Publicado por: [D4N93R] en 5 Noviembre 2010, 20:30 pm
Exacto,

Ya se, así: El cliente es la parte del código que utiliza una clase, es decir, el contexto que la usa. y puede ser cliente de varias clases también! :D


Título: Re: Cliente de una clase
Publicado por: criskapunk en 5 Noviembre 2010, 20:42 pm
Ahora si, muchas gracias! :D

Un saludo