1
resposta

Modificador de acesso internal implícito para classe ok, para os métodos e propriedades o modificador de acesso implícito é protected?

Modificador de acesso internal implícito para classe ok, para os métodos e propriedades o modificador de acesso implícito é protected?

1 resposta

Stefano Boa noite Escrevi um pequeno código para você poder um pouco melhor


    //Classe visível apenas pelo Assembly
    internal class ClasseInternal
    {        

        //Classe visível apenas pela classe aqual essa classe pertence, no caso a ClasseInternal
        private class ClassePrivate
        {

        }


    }

    //Classe visível por todo Assembly e por quem puder acessar o assembly!
    public class ClassePublica
    {

        //Visivel apenas por esse classe
        private int VariavelPrivada;

        //Visivel apenas por herança
        protected int VariavelProtected;

        //Visivel por todos que instanciarem essa classe
        public int VariavelPublica;


        //Visivel apenas por essa classe
        private void MetodoPrivado()
        {

        }

        //Visivel por todos que instanciarem essa classe
        public void MetodoPublico()
        {

        }

        //Esse é o que pega mais gente, ele é praticamente igual ao default, com a diferença de que se uma classe 
        //(mesmo que esteja fora do pacote) estende da classe com o atributo protected, 
        //ela terá acesso a ele. Então o acesso é por pacote e por herança.
        protected void MetodoProtected()
        {

        }


        //Método construtor da classe
        public ClassePublica()
        {
            this.MetodoPrivado();
            this.MetodoProtected();
            this.MetodoPublico();         

        }

    }

    //Classe que herda a ClassePublica e recebe acesso ao VariavelProtegida
    public class UsaVariavelProtected:ClassePublica
    {
        public UsaVariavelProtected()
        {
            UsaVariavelProtected u = new UsaVariavelProtected();
            u.VariavelProtected = 10;
            u.MetodoProtected();
        }
    }

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software