Vous êtes sur la page 1sur 4

[Enter Post Title Here]

Modificadores de acceso
Los modificadores de acceso indican el nivel de accesibilidad que tendr un miembro o un tipo desde otros miembros que lo referencien. Existen cuatro modificadores de acceso en C#. public Es el modificador menos restrictivo. No existen restricciones para el acceso a los miembros o tipos que se hayan definido mediante public. private Los miembros privados slo son accesibles dentro de la clase en la que se definen. Es por tanto el modificador ms restrictivo. internal El modificador internal indica que aquellos miembros o tipos que se hayan definido con este modificador de acceso slo sern accesibles desde los archivos del mismo ensamblado. protected El modificador protected indica que slo la clase en la que se ha utilizado el modificador y sus clases derivadas tendrn acceso al miembro o tipo definido como protected.

Modificadores de miembros y tipos


abstract El modificador abstract se puede utilizar con clases, mtodos, propiedades, indizadores y eventos. El modificador abstract se utiliza principalmente para definir clases base, obligndo a las clases derivadas a implementar los miembros marcados con abstract. Si en una clase se definen miembros marcados con abstract, la clase debe marcarse como abstract. Las clases marcadas con abstract no se pueden instanciar.

Debido a que las clases abstractas suelen ser clases base, no se pueden modificar con el modificador sealed, que hace que la clase no se pueda derivar Una clase no abstracta derivada de una clase abstracta debe incluir implementaciones reales de todos los descriptores de acceso y mtodos abstractos heredados. Si defino mtodos como abstract, estoy indicando que el mtodo no contiene implementacin, por tanto, los mtodos abstractos son lo mismo que los mtodos virtuales (virtual) ya que obligan a las clases derivadas a implementarlos. Slo se pueden definir mtodos abstractos en las clases abstractas. Las propiedades abstractas funcionan como los mtodos abstractos, salvo las diferencias en la sintaxis de las declaraciones y llamadas. Las propiedades abstractas funcionan igual que los mtodos abstractos. Para sobreescribir mtodos o propiedades abstractas utilizar el modificador override. const El modificador const se utiliza para la definicin de constantes. event Este modificador se utiliza para declarar eventos. extern El modificador extern indica que el mtodo marcado con este modificador se implementa externamente en otro ensamblado. new Este modificador se utiliza en tres situaciones diferentes
o o

Para crear objetos Ocultacin de miembros heredados de un miembro de una clase base. Al aplicarlo en una clase derivada estamos ocultando el mtodo de la clase base. Restriccin en la definicin de clases genricas para indicar que el tipo genrico debe tener un constructor pblico sin parmetros

override

Se usa para implementar mtodos de clases base marcados como virtual o abstract en las clases derivadas. Al aplicar override en una clase derivada no se oculta la implementacin en la clase base, como sucede con el modificador new partial Permite dividir la definicin de miembros en varios archivos dentro del mismo ensamblado readonly Se utiliza en campos. Provoca que el campo definido con el modificador readonly no se pueda modificar fuera de la propia declaracin del campo o del contructor de la clase. sealed Se aplica a clases, mtodos, propiedades. Los miembros marcados con sealed no se pueden derivar. Por tanto permite definir clases que no se pueden heredar. static Los miembros a los que se aplica el modificador static pertenecern al tipo declarado y no a un objeto especifico. El modificador static puede utilizarse con clases, campos, mtodos, propiedades operadores y eventos,pero no con indizadores, destructores o tipos que no sean clases. Por tanto, los miembros declarados con static tienen la cualidad de slo existir una vez y no pueden coexistir mltiples instancias en memoria al mismo tiempo. No es posible instanciar clases estticas, es el propio CLR el que las carga en memoria cuando se carga el espacio de nombres que contiene dicha clase unsafe La palabra clave unsafe denota un contexto no seguro, que es necesario para cualquier operacin que involucre a punteros virtual

Al utilizar el modificador virtual sobre un mtodo, propiedad, indizador o declaracin de evento, estamos permitiendo que este se pueda sobreescribir en una clase derivada. volatile

La palabra clave volatile indica que varios subprocesos que se ejecutan a la vez pueden modificar un campo. Los campos que se declaran como volatile no estn sujetos a optimizaciones del compilador que suponen el acceso por un subproceso nico. Esto garantiza que el valor ms actualizado est en todo momento presente en el campo. Hasta pronto!!

Vous aimerez peut-être aussi