c# usa modificadores de acesso ( public
, private
, protected
) para controlar a acessibilidade do membro nas classes e structs. Esses modificadores definem o escopo do qual um membro da classe (campo, propriedade, método) pode ser acessado. O modificador estático
adiciona outra camada de controle, definindo membros que pertencem à própria classe, não instâncias individuais.
Access modifiers:
public
: membros declarados como public
são acessíveis de qualquer lugar - dentro da mesma assembléia ou qualquer outra assembléia referenciando -a. Isso fornece a maior acessibilidade.
private
: membros declarados como private
são acessíveis apenas a partir da classe onde são definidos. Isso aplica forte encapsulamento e ocultação de dados.
protected
: membros declarados como protected
são acessíveis dentro da classe onde são definidos e também dentro de classes derivadas (classes que herdam da classe original). Isso permite herança controlada e extensão da funcionalidade.
nenhum modifier (padrão): Se nenhum modificador de acesso for especificado, o nível de acesso padrão é geralmente interno
. Isso significa que o membro é acessível apenas dentro da mesma montagem (projeto) onde está definido.
modificador estático:
o modificador estático
indica que um membro pertence à própria classe, não a nenhuma instância específica da classe. Os membros estáticos são compartilhados em todas as instâncias. Os membros estáticos são acessados usando o nome da classe, não uma instância de objeto. Classes estáticas não podem ser instantadas.
exemplo ilustrativo:
public class ExampleClass
{
private int privateVar;
protected int protectedVar;
public int publicVar;
static int staticVar;
public void PublicMethod() { }
private void PrivateMethod() { }
protected void ProtectedMethod() { }
static void StaticMethod() { }
public static void Main(string[] args)
{
ExampleClass instance = new ExampleClass();
instance.publicVar = 10;
instance.PublicMethod();
// instance.privateVar = 20; // Error: private
// instance.PrivateMethod(); // Error: private
ExampleClass.staticVar = 5;
ExampleClass.StaticMethod();
}
}
Neste exemplo, publicvar
e publicMethod
são gratuitamente acessíveis. privatevar
e privatemethod
são acessíveis apenas dentro de exempleclass
. ProtectedVar
e protectedMethod
são acessíveis em exemplclass
e qualquer classes que herde. staticvar
e staticmethod
são acessados diretamente através do nome da classe.
APLICAÇÕES PRÁTICAS:
Os modificadores de acesso são fundamentais para princípios de design orientados a objetos, como encapsulamento e abstração. Eles ajudam a controlar como as diferentes partes do seu aplicativo interagem, promovendo a manutenção de código e reduzindo os efeitos colaterais não intencionais. Os membros estáticos são úteis para funções de utilidade ou constantes que não exigem uma instância de objeto.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3