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 :)
Podrías poner un poco más del contexto, qué al menos yo, no le encuentro mucho sentido.
Un saludo.
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 ;)
Ah ok!
Vale, te explico.
Imagina que tengo la clase User.
Y en mi programa voy a usar la clase usuario:
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.
Es decir, el cliente seria todo el codigo que tiene la clase al momento de crearla?
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.
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)
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
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 ;)
No, te voy a remarcar el cliente:
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!
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
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
Ahora si, muchas gracias! :D
Un saludo