Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .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:

CitarCuando 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:

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 (csharp) [Seleccionar]

public User CreateUser()
{
    return new User();
}


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 (vbnet) [Seleccionar]
Public Class Suma

    Private operando1 As Integer
    Private operando2 As Integer
    Private resultado As Integer

    Public Sub Sumar(ByVal op1 As Integer, ByVal op2 As Integer)
        resultado = op1 + op2
    End Sub

    Public Function ObtenerResultado() As Integer
        Return resultado
    End Function

End Class


Código (vbnet,5,6,7) [Seleccionar]
Module Module1

    Sub Main()
        Dim adicion As Suma
        adicion = New Suma()
        adicion.Sumar(10, 40)
        Console.WriteLine(adicion.ObtenerResultado())
        Console.ReadLine()
    End Sub

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 (vbnet,3,4,5,6,7,8,9) [Seleccionar]
Module Module1

   Sub Main()
       Dim adicion As Suma
       adicion = New Suma()
       adicion.Sumar(10, 40)
       Console.WriteLine(adicion.ObtenerResultado())
       Console.ReadLine()
   End Sub

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