Foros del Web » Programación para mayores de 30 ;) » .NET »

Acceder a miembro de una clase sin instanciarla

Estas en el tema de Acceder a miembro de una clase sin instanciarla en el foro de .NET en Foros del Web. Hola amigos! Veran tengo muy poco tiempo con POO y me surge una duda, se que si tengo un sub, function, o lo que sea ...
  #1 (permalink)  
Antiguo 06/05/2005, 07:50
Avatar de Rony J.  
Fecha de Ingreso: noviembre-2004
Ubicación: Maracay - Vzla
Mensajes: 223
Antigüedad: 19 años, 5 meses
Puntos: 0
Acceder a miembro de una clase sin instanciarla

Hola amigos!
Veran tengo muy poco tiempo con POO y me surge una duda, se que si tengo un sub, function, o lo que sea dentro de una clase declarada como Shared(en vb) o Static(en c#) no necesito instanciar a la clase que los contiene para poder acceder a estos, pero que diferencia hay en hacerlo asi o no?
Es decir, supone alguna ventaja o desventaja el acceder a metodos de una clase sin instanciarla? Gracias de antemano y disculpen si la pregunta les parece muy basica...
__________________
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Albert Einstein
  #2 (permalink)  
Antiguo 06/05/2005, 08:29
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Ok.. en general la idea principal de hacer miembros de tipo static o shared es para poder accesar a los métodos de forma natural sin necesidad de crear instancia, esto con el objeto de poder tener variables, metodos, propiedad, etc, encapsuladas en otro lado que no propiamente actuaran como un objeto.

Por ejemplo, antes en vb6 tu creabas un modulo de clase y declarabas como publica cierto metodo, propiedad, etc, y podías accesar a él desde cualquier parte de tu proyecto, pero como la version en .Net esta 100% orientado a objetos es por eso que se cran clases pero a su vez existen los métodos compartidos precisamente para esa funcionalidad..

Ahora, tal vez te preguntes porque no hacer todo shared, pues el hecho es que cuando creamos nuestras clases es precisamente porque las vamos a ocupar para darle un comportamiento de acuerdo a nuestras necesidades, cosa que forma compartida no puedo hacer.

Es como tener una clase casa, con puertas, ventanas, etc.. pero no tiene color, no tiene ancho, alto, etc... y cuando instancias esa clase casa la conviertes en un objeto donde podrás decidir que color va a llevar, que alto va a tener, que va a pasar cuando abran la puerta (eventos), etc, es decir darle behavior (comportamiento)

Es por eso que hay que hacer una buena abstraccion tanto de tus miembros compartidos como los que serán instanciados.

Espero que con esta explicación me haya dado a entender.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 06/05/2005, 08:48
Avatar de Rony J.  
Fecha de Ingreso: noviembre-2004
Ubicación: Maracay - Vzla
Mensajes: 223
Antigüedad: 19 años, 5 meses
Puntos: 0
mmmm... cool!! Mucho más claro..

De todos modos tratare de leer un poco mas sobre POO para evitar dudas como estas en el futuro...

Gracias por la explicación

Saludos
__________________
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Albert Einstein
  #4 (permalink)  
Antiguo 06/05/2005, 10:39
 
Fecha de Ingreso: marzo-2005
Mensajes: 81
Antigüedad: 19 años, 1 mes
Puntos: 0
buena explicacion root!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:44.