O que são métodos?

Métodos são o meio que utilizamos para ler, modificar e definir os atributos de um objeto. Estão sempre associados a uma classe e, desta forma, podem ter seu escopo definido para poderem ser acessíveis a diferentes níveis: podemos definir métodos que somente podem ser acessados internamente naquela classe, métodos que não podem ser acessados diretamente e métodos que podem ser acessados de qualquer parte do nosso projeto.

Modificadores de Acesso: Definem como os métodos de uma classe serão visíveis para as demais classes.

Na prioridade de Acessos do maior (5) acesso para o menor (1), segue lista dos Modificadores:

5 – Public

4 – Protected Internal

3 – Protected

2 – Internal

1 – Private

Public – Um método definido como Public pode ser acessado por qualquer classe de qualquer projeto (Assembly).

Protected – Somente as classes que herdam da classe que contem o método protegido (protected) tem permissão para acessá-lo.

Internal - Os métodos deste tipo somente podem ser acessados por classes que pertencem ao mesmo assembly que eles, com ou sem herança.

Protected Internal – É a soma dos dois anteriores (Protected e Internal), estes métodos podem ser acessados por todas as classes contidas no assembly, com ou sem herança. Também podem ser acessados por classes externas ao assembly, mas que herdam o método.

Private – Este modificador é o mais restrito, somente a classe onde ele foi definido é que pode acessá-lo, nenhuma outra tem permissão, nem mesmo as classes que herdam da classe onde o método foi definido.