Declaração e Controle de Acesso

 

Este artigo irá abordar algum assunto que com certeza já falamos. Isso porque alguns assuntos serão abordados em várias seções, devida o relacionamento entre os assuntos para a Certificação.

 

Preste muita atenção neste assunto, pois nele se esconde detalhes importante que infelizmente pode passar despercebido na hora do exame.

 

Identificadores

Na linguagem Java, identificadores legais devem ser compostos por apenas caracteres Unicode, números, símbolos de moeda (cifrão) e o underline.

 

Mas lembre-se existe um padrão para nomeação chamada JavaBeans que será abordada já já, então não entre em pânico, pois o assunto apenas começou.

 

Bem falamos de caracteres Unicode, mas não serão cobrados detalhes do conjunto de caracteres que qualificam como letra, mas este detalhe será necessário:

ü  Os identificadores não podem começar com números. Devem começar com letras, cifrão ($) ou um underline (_);

 

Não existe limite de caracteres para um identificador e assim que respeitado essa regra, um identificador pode conter qualquer combinação de letras, caracteres e números. Lembrando que Java é case-sensitive, ou seja, java é diferente de Java

assim que jAvA também é diferente.

 

Outro detalhe que você não pode esquecer é que além de regra de do uso de identificadores, você precisa identificar as keywords, também conhecidas como palavras reservadas, é uma listinha básica de 50 palavras que elas não podem ser utilizadas, pois tem uso restrito pela linguagem Java.

 

Veja o código da Figura01.

 

ffdcap1fig01.jpg 

Figura 01.

 

A Sun publicou uma convenção de código, ou seja, boas práticas de programação. Se você não seguir esta convenção no seu dia-a-dia não quer dizer que você esteja errado, mas está indo na contra mão da “Convenções de Código Java”, mas para o exame será necessário você saber:

  • Métodos => a primeira letra deve ser minúscula, depois seguida da regra camelCase.Normalmente os nomes devem ser substantivos.
  • Interface => a primeira letra deve ser maiúscula, seguida da regra camelCase.Normalmente os nomes devem ser adjetivos.
  • Variáveis => semelhante aos métodos, porém recomendam-se nomes curtos e significativos.
  • Constantes => Devem ser declaradas usando letras maiúsculas separadas por underline (_).

Padrão JavaBeans

Usado para definir os métodos get e set da uma classe onde o get refere-se qualidade de acessar as informações de uma variável, e set a qualidade de modificar as informações de uma variável.

 

Para definição desses métodos é necessário passar a primeira letra do nome da propriedade para maiúsculo seguido do prefixo get ou set.

 

Os métodos setter devem ser públicos com tipo de retorno void e com argumento que represente o tipo da propriedade.

 

Os métodos getter devem ser públicos sem argumentos e com tipo de retorno que coincida com o argumento do método setter.

 

Os métodos booleanos podem ser ter o prefixo do método get ou is. Por exemplo, tanto pode ser getStatus( ) quanto isStatus( ).

 

Os métodos que registram eventos tem uma particularidade que você deve saber. Eles devem receber o prefixo add seguido do tipo de evento. Por exemplo, addActionListener( ). Para métodos que registram os eventos de remover devem usar o prefixo remove, seguido do tipo de evento. Por exemplo, removeActionListener( ).

 

Declaração de Interface

No artigo sobre Orientação a Objetos já ouvimos falar um pouco sobre Interface. Falamos que ela é um contrato onde se deve fazer implementações válidas de cada método definido na Interface.

 

As Interfaces podem ser implementada por qualquer classe, da árvore da herança. Uma Interface só pode ter métodos abstract, por isso você tem que estar de olho em alguns detalhes.

  • As Interfaces podem estender uma ou mais Interfaces.
  • As Interfaces não pode implementar outra Interface.
  • Todos os métodos de uma Interface são implicitamente public e abstract, resumindo, você não precisa digitar esses modificadores, mas precisa saber que mesmo assim ele sempre será.
  • As variáveis definidas em uma Interface devem ser public, static, final, ou seja, todas são declaradas como constantes e não variáveis de instância, mas você não precisa declarar explicitamente para que elas sejam, basta você saber que elas são.

Declaração de Classes

Agora iremos falar sobre a declaração de classes e os tipos de modificadores que elas podem ter. Saiba que só pode existir uma classe public em um arquivo-fonte, caso você seja mais que um vai dar problema. Digamos que devem seguir essas premissas.

  • 1º A declaração de package;
  • 2º A declaração de import;
  • 3º A declaração da classe; 

As classes podem ter os seguintes modificadores de acesso: public, e padrão, porem você precisa ficar esperto nesse momento.

 

O nível de acesso padrão define que a classe só poderá ser acessada por outras classes dentro do mesmo pacote.

 

Exemplo Figura 02:

 

ffdcap1fig02.jpg 

Figura 02

 

O nível de acesso public é o mais liberal, fazendo com que a classe possa ser acessada por qualquer classe independente de estarem ou não no mesmo pacote, então preste atenção porque o modificar de acesso padrão ele é mais restrito que o public.

 

Existem outros modificadores de Classe, porém eles não se referem ao acesso as classes, sendo eles o final e o abstract.

 

Classes marcadas como final são classes que não pode haver herança dela, ou seja, nenhuma classe pode jamais estendê-la.

 

Classes marcadas como abstract não pode haver instância, seu objetivo principal é ser estendida. Então presume que uma classe nunca deve ser declarada com os dois modificadores ao mesmo tempo, veja essa situação, você declara uma classe como abstract, ou seja, ela terá que ser herdada, então você não pode marcá-la como final senão você estará impedido a herança dela.

 

Bem, todos esses conceitos falados até agora você tem que estar profundamente familiarizado com eles, na próxima parte iremos falar sobre modificadores de acesso de métodos, variáveis e sobre ENUM, fique espertos e espero vocês no próximo.

 

Fabiano Fernandes