Flashcards
access modifiers

Cards in this deck (11)
- 1o que é encapsulamento? como o C# ajuda a aplicar ?O encapsulamento é um dos pilares do desenvolvimento orientado a objeto. Esconder os elementos privados de outros objetos dentro de um sistema OO faz um software melhor.
Qdo vc quer fazer algo, peça a um outro objeto q ele execute esta ação. A única coisa q vc tem q saber é a interface externa.
A implementação está escondida de vc, e vc n tem q entender como ela funciona, desde q esteja em conformidade c/ a interface.
C# ajuda a encapsular o funcionamento interno de um objeto, fornecendo propriedades , modificadores de acesso e interfaces. - 2o que são os modificadores de acesso?Um dos conceitos-chave do encapsulamento é esconder informações. Isto é onde os modificadores de acesso do C# podem ser utilizados.
Modificadores de acesso permitem restringir o acesso a todos os tipos e membros de tipo. - 3usando o modificador de acesso 'public'

- 4quais os modificadores de acesso e suas restrições?

- 5private como funciona / exemplo

- 6protected como funciona / exemplo

- 7internal como funciona / exemplo

- 8internal protectedVc tb pode combinar o modificador de acesso protected e internal.
Ao usar o modificador de acesso 'internal protected ', tenha em mente que :
Na prática, significa q o acesso é limitado ao assembly de tipos ou derivados a partir da classe de corrente, mesmo que esses tipos estão em outro conjunto. - 9InternalsVisibleToAttributeQdo vc quer expor tipos internos ou membros de tipo para outro assembly, vc pode usar um atributo especial: InternalsVisibleToAttribute.
Vc pode usar esse atributo para especificar outro assembly q tb pode acessar os tipos internos. Uma situação em q isso pode ser útil é qdo vc escreve testes de unidade. Talvez tenha uma classe interna q encapsula um algoritmo difícil e vc quer escrever testes de unidade para isso. Normalmente, vc inclui esse atributo dentro do arquivo AssemblyInfo.cs q está armazenado na pasta Propriedades do seu projeto: Ex:
[Assembly: InternalsVisibleTo ("Friend1a")]
[Assembly: InternalsVisibleTo ("Friend1b")]
Vc pode usar qtos atributos vc precisar. Neste exemplo, os assemblies Friend1a e Friend1b já estão autorizados a acessar os tipos internos e membros de seu assembly - 10modificadores de acesso X membros

- 11Algo para se manter em mente é que o modificador de acesso do tipo de delimitador é sempre levado em conta. dê um exemplo! Há exceções, dê um exemplo de exceção!Ex: um método público dentro de uma classe interna tem uma acessibilidade do interno.
Há exceções (Ex: qdo uma classe interna implementa uma interface pública ou qdo uma classe substitui um membro virtual pública de uma classe base), então vc precisa manter o controle dessas coisas ao determinar a acessibilidade de um tipo q vc precisa .
É uma boa prática escolher sempre explicitamente a menor visibilidade possível, pq vc quer esconder o máximo de informações possível. Se vc n declarar qlq modificador de acesso, C# atribui um membro acessibilidade padrão conforme definido na Tabela
Information
- Description
- 70-483 C# Flashcards on access modifiers, created by Thiago Russo on 02/05/2017.
- Created by
- Thiago Russo
- Views
- 5
- Rating