• Nenhum resultado encontrado

Programação em Java Iniciação - Por Bruno Rodrigues

N/A
N/A
Protected

Academic year: 2021

Share "Programação em Java Iniciação - Por Bruno Rodrigues"

Copied!
12
0
0

Texto

(1)

Programação em Java – Iniciação - Por Bruno Rodrigues

Date : 10 de Dezembro de 2009

Este vai ser o meu primeiro artigo no Pplware, como tal, antes de mais peço desculpa por qualquer parte deste post “menos bem conseguida”. Quero-vos falar da Linguagem de Programação (LP) Java. O Java é uma LP object-oriented que surgiu no início dos anos 90, criada pela Sun.

(2)

Obviamente, dirão alguns, estas estatísticas poderão estar a mostrar resultados tendenciosos mas, o que é certo é que qualquer que seja a fonte que encontrem, encontrarão sempre o Java pelo menos no top 5, o que diz muito das suas potencialidades.

Principais Vantagens

Não basta dizer que Java é bom só porque sim, quanto a mim, eis as principais “virtudes” do Java enquanto LP:

Object-Oriented;

Multi-Plataforma ("write once, run anywhere" – apesar de às vezes não ser bem assim); Garbage Collector;

Sintaxe muito user-friendly e, quanto a mim, muito intuitiva mesmo para novatos; Programas muito bem estruturados devido à organização por packages e classes e, devido à capacidade de hierarquizar estas últimas;

Bom mecanismo para apanhar e tratar excepções;

(3)

Web-Services, Applets, Manuseamento de ficheiros, e muito muito mais do qual espero vir a ter tempo para falar futuramente).

O que eu preciso para programar em Java no meu PC

Para começar a programar em Java não precisa de muita coisa. Antes de mais precisa de fazer o download do JDK (atenção que somente o JRE Java Runtime Environment não serve) -Java Development Kit. Poderá fazê-lo do seguinte site: http://java.sun.com/products/archive/. Em seguida, aconselho a instalação de um IDE - Integrated Development Environment - para desenvolver em Java. Para iniciar talvez um mais simples como o Notepad++ ou o GEdit seja o indicado, no entanto, se pretender avançar a fundo na programação em Java, deverá recorrer a uma ferramenta mais completa pois estas ajudam (e muito!) a aumentar a produtividade.

Recomendo, pela minha experiência, o Netbeans (da Sun tal como o Java) ou, o meu preferido, Eclipse. Estes programas poderão ter uma curva de aprendizagem não muito acentuada inicialmente mas, o tempo investido nos mesmos acabará por compensar a longo prazo (no futuro vou tentar escrever uns quantos tutoriais acerca dos mesmos).

Estrutura e Sintaxe

Definição e Diferenças entre Classe e Objecto

Para programar em Java é fundamental perceber o que são classes e objectos. Sendo esta uma linguagem object-oriented, o que o programador faz é nada mais do que definir os objectos e as mensagens com que será possível comunicar com os primeiros.

(4)

No caso da imagem anterior, o utilizador definiu o objecto tendo no seu interior os métodos A, B, C, D e E. Definiu que o utilizador teria acesso aos métodos A, B e C e, que ao “pressionar o botão A” este internamente accionaria o “botão D” e que, ao pressionar os “botões” B ou C, este accionam o “botão” E. Não é necessário haver acções internas interligadas, poderia-se definir um “botão F” possível de aceder do exterior da “caixa” que quando o utilizador

pressiona-se limitava-se a realizar as suas acções.

Quanto às diferenças, se me perguntarem “O que entendes entre classe e objecto? Mas quais são as diferenças?”, eu diria que classe é um modelo ou especificação que define um tipo de objecto enquanto que o objecto em si é uma ferramenta, uma forma de comunicação entre o utilizador e o seu programa, ferramenta essa que apresenta um conjunto de variáveis e métodos definidos na classe. A comunicação é feita enviando mensagens para os objectos. Essas mensagens não são nada mais do que “chamar” os métodos que o objecto disponibiliza para o exterior.

Como definir uma classe

(5)

A primeira declaração é sempre o package onde a classe se insere (caso esteja dentro de algum obviamente). Em seguida são adicionados os imports de outras packages (bibliotecas) das quais pretendemos utilizar alguns objectos e respectivos métodos, na classe que estamos a definir.

O nome da classe é sempre igual ao nome do ficheiro onde ela está a ser criada (ou seja, o ficheiro teria o nome MinhaClasse.java).

O método com o mesmo nome da classe é nada mais do que o construtor desta. O construtor de uma classe é um método (função) especial que não retorna qualquer valor e que, é

(6)

E, para finalizar, declaramos e definimos todos os métodos da nossa classe. Caso este seja um ficheiro que será executado, deverá conter um método “especial”, o método main, que é

declarado da forma indicada. Comentários

Para comentar uma linha individualmente utiliza-se ‘//’, para comentar um bloco utiliza-se ‘/* texto a comentar */’.

Modificadores de Acesso

Os modificadores de acesso são palavras reservadas que, quando colocados na declaração de classes, métodos ou variáveis, modificam/limitam o modo como se pode aceder aos mesmos. Existem os seguintes modificadores de acesso:

(7)

subclasse;

public – sem qualquer restrição de acesso;

static – a declaração de um método ou de uma variável static serve para:

aquando a declaração de uma variável dentro de uma classe, para que todas as instâncias de objectos dessa classe possam aceder a essa variável como sendo comum entre todas elas. Ou seja, quando alteram a variável numa das

instâncias criadas, o seu valor será alterado em todas as instâncias daquele mesmo objecto;

quando utilizado na definição de um método para que este seja utilizado apenas na sua classe e não nas instâncias da mesma.

Juntamente com estes últimos, podemos ainda utilizar dois outros modificador: abstract e final.

O abstract quando se aplica a métodos, serve para indicar que o método em causa deverá ser definido nas suas subclasses (classes que herdem a classe onde o método foi definido). No caso das classes, indica que a classe não está completamente definida e como tal não pode ser instanciada (utilizado, por exemplo, em Interfaces).

Já o final, utiliza-se para declarar constantes, ou seja, valores que não são alterados durante a execução de um programa.

Declaração de variáveis

Vamos agora ver alguns aspectos relacionados com a síntaxe da linguagem. A declaração das variáveis obedece à seguinte forma:

Ou seja,

[modificador de acesso] tipoVar nomeVar[ = valorInicial];

Nos objectos que são estruturas de dados pode-se (deve-se – sempre que seja possível dentro do contexto – diria eu) definir a seguir ao tipo do objecto o tipo de dados que o objecto recebe entre . Para qualquer declaração de um objecto, deverá inicializar-se (não é obrigatório mas terá de ser feito antes de ser utilizado) o mesmo recorrendo ao método especial new().

(8)

O que difere um método de outro em Java é a sua assinatura (nome, valor de retorno e parâmetros de entrada. Como tal, um método poderá ser definido da seguinte forma:

É possível utilizar-se um método de uma classe chamando o mesmo dentro dessa mesma classe se este for static ou, declarando um objecto do tipo ClasseDoMetodoAChamar e chamar o dito método (A.B – chama o método B sobre o objecto A, ou seja, o objecto A disponibiliza o método B para para ser invocado e nós invocamo-lo utilizando a notação objecto(ponto)método ).

(9)

Quando uma classe faz extends de uma outra classe, está a herdar todos os métodos e variáveis definidos na classe que foram criados nessa classe. No entanto, se essa última classe definir uma variável/método que já exista na classe herdada, será feito um override, ou seja, ignora a criação prévia na “classe pai” (o termo é superclasse). Vejam o exemplo

seguinte:

O Java não suporta herança múltipla, ou seja, apenas pode “extender” uma classe. No entanto, pode implementar (implements) várias Interfaces como vamos ver.

(10)

Nested Classes

São classes definidas dentro de classes e que serão utilizadas no contexto destas últimas.

Exemplos de Código

(11)

Soma 2 números

Compilar e executar os nossos programas

Para correr os programas que desenvolvemos, temos de primeiro compilar o ficheiro .java por nós criado e depois correr o executável gerado. Para tal:

(12)

% java NomeFicheiro

Notas:

O nome do ficheiro contendo código tem de ter o nome da classe executável mais a extensão .java

A compilação da classe dá origem a um ficheiro com o mesmo nome, mas com a extensão .class

Para executar, chama-se o nome da classe e não o nome do ficheiro (ex: java Hello e não java Hello.class)

Notas Finais

Nos próximos tutoriais irei dar a conhecer alguns aspectos mais “avançados” não mencionados neste tutorial. Espero que tenham gostado e que seja útil a alguém.

Links Úteis:

Produtos Java (JRE, JDK, JCE, etc) Fórum Java Programming

Referências

Documentos relacionados

A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se baseia no fato de que uma

Em relação à faixa etária, os jovens realizam mais a variante semáforo enquanto os idosos preferem sinaleiro, mantendo o mesmo direcionamento dos demais estados

Figura 8 – Isocurvas com valores da Iluminância média para o período da manhã na fachada sudoeste, a primeira para a simulação com brise horizontal e a segunda sem brise

Entrando para a segunda me- tade do encontro com outra di- nâmica, a equipa de Eugénio Bartolomeu mostrou-se mais consistente nas saídas para o contra-ataque, fazendo alguns golos

Evento que exigiu o fim da impunidade para os Crimes de Maio de 2006 reuniu vítimas da violência policial de vários Estados e deixou claro que os massacres de pobres e jovens

a. a vida sem o computador tornou-se quase inviável, mas se tem diminuído problemas de visão cansada. a utilização demasiada do computador tem proporcionado o surgimento

Seja o operador linear tal que. Considere o operador identidade tal que. Pela definição de multiplicação por escalar em transformações lineares,. Pela definição de adição

Este texto é uma reflexão em torno da necropolítica, a partir de Achille Mbembe, e das esculturas de Niemeyer, de como estas obras artísticas representam a enunciação e