Na descrição de uma classe, este encapsulamento pode ser observado pela indicação de modificadores de acesso, usualmente representado pelos sinais “+”, “-” e “#”. Na linguagem Java podemos dizer que o modificador public (+) apresenta restrições de acesso para classes em pacotes diferentes e é utilizado, usualmente, para proteger o comportamento.
Pois bem não entendi esse public (+), esse atributo, não sei como se lê e não encontrei formas de analisar essa afirmativa.
Ó, entendi nada do que você quis dizer com +, - e #, mas vou te explicar sobre modificadores de acesso em Java.
De forma BÁSICA, existem 4:
Público
Privado
Visível em Herança
Visível em Pacote
Pra te explicar melhor, vamos supor que você tenha um método chamado ehPar que recebe um tipo inteiro como parâmetro e te retorna um boolean (true ou false). Também, vamos supor que a classe se chama “Utilitarios” e a referência (ou instanciação) chama-se util.
Utilitarios util = new Utilitarios();
As assinaturas são as seguintes (com explicação):
public boolean ehPar (int numero){
//implementação
}
Isso quer dizer que, em todo projeto, o método é visível (ou seja, público) - qualquer um pode acessar através da referência: esteja onde estiver.
private boolean ehPar(int numero){
//implementação
}
Isso é um método privado, ou seja: NINGUÉM pode vê-lo, mesmo através da instanciação. Se ninguém consegue vê-lo, ninguém consegue usar. Todavia, há uma exceção: a própria classe pode vê-lo e usá-lo livremente.
protected boolean ehPar (int numero){
//implementação
}
Isso é um método em que só as classes que herdam essa classe podem ver. Também conhecida como “vísivel para as filhas/subclasses”. Você vai entender melhor quando estudar Herança.
boolean ehPar (int numero){
//implementação
}
Isso é um método que, através do util, quem estiver no mesmo pacote vai poder usar essa classe. Porém, só quem estiver na mesma classe (o nome do atributo é package-private).
Espero ter dado uma esclarecida!
[]'s
obrigado!!
Disponha
+ -
e #
é notação UML
+
é public
-
é private
#
é protected
pois bem estou fazendo um exercício e não consigo entende-lo, comecei a posta-lo ai em cima mas ate eixei visto a complexidade para mim. o problema são essas notações em uml, que bagunça tudo.
veja:
padrão da linguagem (“default” - sem sinal associado) é o public. Usualmente, é utilizado para proteger os dados (atributos).
private (-) permite o acesso dentro da própria classe e de suas superclasses e é utilizado, usualmente, para funções (métodos).
Incorreto
public (+) apresenta restrições de acesso para classes em pacotes diferentes e é utilizado, usualmente, para proteger o comportamento.
protected (#) permite acesso apenas dentro da própria classe e é utilizado usualmente para proteger os dados (atributos).
public (+) é utilizado usualmente para o comportamento (métodos), enquanto o modificador private (-) é utilizado usualmente para proteger os dados (atributos).
alguem pode comentar isso para que eu entenda
complementando qual afirmação esta certa
+
equivale a public em Java
-
equivale a private em Java
#
equivale a protector em Java
Elas servem só para te dizer no diagrama qual o modificador de acesso usar nos membros da classe.