Kotlin, De há muito tempo atrás cerca de 3-4 anos atrás, acho que se tornou uma linguagem popular (a partir da fase beta). Foi só de relance os factos e encontrou algo intrigante que os modificadores em Kotlin são pouco diferentes de Java.

Todos os direitos deste GIF reservados com https://netbramha.com

p>P>Comecemos por Java, Em Java, temos Público, Privado, Protegido e Pacote Privado (se não souber que isto existe, explicará o que é dentro de momentos).

Todos conhecem o modificador “Público” É basicamente acedido por todas as classes.

Privado, por outro lado, detém a visibilidade das funções ou variáveis apenas para essa classe (excepto que pode mudar usando reflexão mas não é esse o ponto aqui) outras classes ou subclasses também não detêm funções e variáveis privadas.

Protegido detém a visibilidade das funções e variáveis para a subclasse e o âmbito do nível do pacote.

Qual é o identificador por defeito em Java? Quer dizer, se não especificar o tipo de modificador de visibilidade em java o que o compilador java faz a essa função ou variável? Vai atribuir essas funções e variáveis como “Package-Private”. e o que significa realmente?

Package-Private significa que só pode usar essas funções e variáveis para uma subclasse que se encontra no mesmo pacote e classes dentro desse pacote.

Um pequeno diagrama para segurar ou agarrar acima das coisas:

Java Modifiers

Agora que estamos na página de Java Falemos de kotlin. O Kotlin tem algumas definições de modificadores diferentes de Java. Público, Privado, Protegido, Interno.
Público e Privado são os mesmos modificadores de visibilidade que Java.

Sobre “Protegido” isto é pouco diferente de Java. Em Java, “Protegido” significa que as funções ou variáveis podem ter acesso sob o mesmo pacote ou subclasse com um pacote diferente. Enquanto em Kotlin “Protegido” significa que é acessível na mesma classe ou classe que herdou por isso, enquanto não acessível no pacote.

Categorias: Articles

0 comentários

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *