Inicio > .NET > Cómo saber cuando usar Protected, Private, etc.

Cómo saber cuando usar Protected, Private, etc.


Los modificadores de declaraciones de clases, métodos, propiedades y variables, se usarán cuando queramos modificar el “alcance” de visibilidad de dichos miembros.

Private:
Un miembro declarado como Privado, sólo es accesible en la clase en la que se ha declarado.

Protected:
Un miembro declarado como Protected es accesible en la clase en la que se ha declarado y en las que deriven de ella.

Friend:
Un miembro declarado como Friend es visible en:
– la clase en la que se ha declarado,
– el Namespace en el que está dicha clase,
– en el mismo programa en el que está la declaración; por ejemplo, si se compilan varios ficheros con distintos Namespaces en un mismo programa (ejecutable o componente).

Protected Friend:
Idem que Friend, además de ser visible en las clases derivadas.

Public:
Visible por todo el mundo.

Cuando queremos crear miembros de la clase que sólo sean visibles en esa clase, usaremos Private (como hasta ahora).

En el caso de que nos interese que las clases derivadas puedan acceder a esos miembros, pero no nos interesa que el resto del Namespace o módulo en el que está declarado pueda acceder, entonces usaremos Protected.

Si lo que queremos es que determinados miembros sean visibles sólo en el Namespace en el que se ha creado la clase o en el mismo programa en el que está la declaración, habrá que declararlos como Friend.

Y si además de que sea visible en el Namespace o programa, queremos que también sean visibles en las clases derivadas, en ese caso habrá que declararlo como: Protected Friend.

Por último, si no nos importa que esos miembros de nuestra clase sean vistos por cualquier clase, esté o no en el mismo Namespace, módulo o lo que sea… entonces la declararemos como Public.

Si se declara una clase que se deriva de otra, el modificador debe ser igual o más restrictivo que la clase heredada. Por ejemplo, si Clase1 se declaró como Friend, la siguiente declaración produciría un error: Public Class Clase2 : Inherits Clase1, ya que los miembros de Clase1 no pueden “promoverse” a públicos.

Categorías:.NET
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: