domingo, 29 de junho de 2008

Revisão sobre Java II

No artigo anterior, sobre Java, um dos pontos que tocamos em nossa revisão sobre Java foi sobre as palavras reservadas. Segue uma listagem dessas palavras.

Lista das palavras reservadas em Java:

abstract, assert,
boolean, break, byte,
case, catch, char, class, const, continue,
default, do, Double, else,
enum, extends,
final, finally, float, for,
goto //(cruz credo!),
if, implements, import, instanceof, int, interface,
long,
native, new,
package, private, protected, public,
return,
short, static, strinctfp, super, switch, synchronized,
this, throw, throws, transient, try,
void, volatile,
while


Dando continuidade ao assunto vejamos agora sobre como adicionar comentários em seus programas Java:

Comentário num programa Java:

O Java absorveu os delimitadores de comentários das linguagens C e C++:

1) “/* */” Comentário de múltiplas linhas, vem do C.
2) “//” Comentário de uma linha, vem do C++
3) “/** */” Comentário de documentação (javadoc)

O delimitador mais usado é o padrão “//” de uma linha, do C++.

Ok, até aqui tudo tranqüilo! Vamos criar um pequeno exemplo para ilustrar o que vimos no artigo anterior, além de exemplificarmos os delimitadores de comentário. Adiante comentaremos cada linha do programa, seguindo o estilo Deitel & Deitel.

// A linha abaixo especifica que a classe esta definida no pacote "ZNDummyPkg"
package ZNDummyPkg;

import javax.swing.JOptionPane;
/** comentário varias linhas JDoc... bla bla bla!!!
* @author GMottaZn
*/
public class ZNDummyClasse {

public static void main(String[] args) {
JOptionPane.showMessageDialog(null, " Estação Zn!!! Codificando minha classe Java");
}

}



Detalhando o programa ZNDummy

Lina 1 – Exemplificando comentário de uma linha.
Uma ação bastante desprezada por muitos programadores, colocar comentário nos seus programas melhora o entendimento do módulo codificado, alem de ser uma forma otimizada de documentar o sistema.

Linha 2 - Especifica que a classe esta definida no pacote "ZNDummyPkg". Como estou usando o NetBeans para construir meus exemplos ele cria uma package para definição de classes.

Linha 3 – Simplesmente uma linha em branco. O uso de linhas em branco pode ajudar a melhorar a legibilidade do seu código. A tabulação também funciona na mesma idéia. É claro que é algo para ser usado meticulosamente (cuidadosamente, com prudência). Acredito que em linguagens que não obrigam seçoes, ou áreas, de declarações como o Pascal, o uso desse recurso é mais necessário.

Linha 4 - Importando pacote de extensão da Java API.

Linha 5, 6 e 7 - Comentário de múltiplas linhas para documentação Javadoc.

Linha 8 - Iniciamos a declaração de uma classe em Java. A classe ZNDummyClass. Ilustrando o que foi falado no artigo anterior sobre um programa em Java, veja que a palavra reservada “class” indica a declaração de uma classe. A palavra reservada “class” deve vir seguida imediatamente do identificador, o qual dará nome a classe. Em muitos livros sobre Java, você poderá encontrar o termo “palavras chaves” referindo-se as palavras reservadas. As palavras reservadas devem sempre ser digitadas em caixa baixa, lembre-se o Java é sensível a caixa.
Convencionalmente todos os identificadores de classes devem começar por letra maiúscula. Ou seja, os nomes das classes devem iniciar com letra maiúscula. Antes da palavra reservada “class” existe outra palavra reservada, “public”. Ela define a visibilidade dessa classe em relação a um pacote (package). Por exemplo, quando você define uma classe como não pública, o escopo de visibilidade dela fica restrito somente a package onde ela está definida. Isso significa que ela só poderá ser chamada e usada pelas classes que estejam na mesma package que ela.
Conforme mencionei anteriormente, é possível, e freqüentemente é o que fazemos, usar bibliotecas de classes preexistentes, como a Java API por exemplo. Cada classe ou interface na Java API pertencem a um pacote específico. Organizar seus programas em pacotes pode ajudá-lo a administrar a complexidade de cada componente existente nele. Além de facilitar a reutilização, reuso, dos componentes de software, de maneira que possam ser importados por outros programas. Quando iniciamos um novo projeto no NetBeans automaticamente ele cria uma package associada a este projeto.

Linha 9 – Espaço em branco cujo objetivo é alcançar boa legibilidade do código.

Linha 10 – “public static void main (String args[])”:
Os programas Java começam a execução pelo método principal, é o "main". Os parênteses que vimos depois da palavra reservada “main” indicam que esse é um bloco de construção de programa o qual chamamos método (Falamos extensivamente sobre métodos aqui no ZN, tanto em Delphi, C#, PHP,quanto em Java). Definições de classe tanto em Java, quanto nas demais linguagens, normalmente, devem possuir, pelo menos um, ou, preferivelmente, mais métodos. Em Java, numa definição de classe justamente um desses métodos deverá ser chamado de “main” e definido conforme a linha 5 do nosso exemplo. De outra forma o interpretador Java não executará o programa, ou aplicativo ... que seja. A palavra reservada “void” indica que esse método não retorna nada. Nenhum tipo de dado, nenhuma informação. Em Java, como em C, não existe o conceito de “procedure” como no Pascal. Só existe function, quando não é conveniente definir um retorno para esse function definimos ela como “void”. A procedure, em Delphi, por exemplo, é como se fosse uma function que não retorna nada.

Linha 11 - O símbolo “{” inicia o corpo da implementação do método cujo o correspondente “}” , na linha 13, é o delimitador que define o final do método principal. As chaves são os delimitadores de blocos de comando, assim como em Pascal usamos o “begin” e o “end”.

Linha 12 – Fazendo chamada ao método, de uma classe da Java API, “showMessageDialog”. O qual é responsável por ser o out put da minha mensagem.

Linha 13 – Delimitador final do método principal da classe ZNDummyClasse.

Linha 14 - Espaço em branco cujo objetivo é alcançar boa legibilidade do código.

Linha 15 – Delimitador final da definição da classe ZNDummyClasse.

Veremos mais posteriormente ...

Nenhum comentário:

Postar um comentário