Mini Curso de Java – Parte 3 1


Java LogoOlá pessoal. Esta é a terceira parte do nosso mini curso de Java que terá 11 partes. Ele é voltado para iniciantes, porém é recomendado que ao estudá-lo, você já tenha pelo menos algum conhecimento em lógica de programação. Se você perdeu:
a primeira parte, leia aqui; a segunda parte, leia aqui;

Atributos e Métodos

Definição de atributos
Na definição de uma classe são especificados os seus atributos. Cada atributo tem um nome e um tipo e define o comportamento estático de um objeto. Se dois objetos são instâncias de uma mesma classe, ambos tem os mesmos atributos, embora seus valores possam ser diferentes.

Por exemplo, uma classe que controle o abastecimento de um posto de combustível pode ter como atributos a quantidade de litros, custo do abastecimento e horário do abastecimento. Cada instancia da classe terá esses atributos, embora os valores desses atributos serão diferentes.

Em Java, para cada atributo é especificado: um modificador (opcional), o nome, o tipo e o valor inicial do atributo.
class Abastecimento{
…float litros;
…float custo;
…Date horario;
}

Os atributos de uma classe podem ser de instâncias ou de classe. Cada instância da classe tem suas próprias cópias dos atributos de instâncias, enquanto os atributos de classe são compartilhados. No exemplo anterior litros, custo e horário são atributos de instâncias, pois a cada instância da classe Abastecimento, existe sua própria cópia destes atributos. A alteração do valor de um dos atributos em duas instâncias não altera os valores dos atributos em outras instâncias.

Os atributos de classe, por sua vez, são compartilhados entre as instâncias da classe. Por exemplo, suponha que cada instância da classe Abastecimento deva conter o valor por litro de gasolina. Sendo o preço o mesmo para todas os diversos abastecimentos, na definição da classe Abastecimento pode-se especificar que o atributo custoLitroGasolina é um atributo de classe. Quando a classe for instanciada, as diversas instancias compartilharão o valor do armazenamento neste atributo. Caso o valor do atributo seja alterado em uma das instâncias, a alteração será visível em todas as outras instâncias.

Para se criar um atributo de classe, é necessário utilizar a palavra chave static. No exemplo abaixo a classe Abastecimento foi modificada para receber o atributo custoLitroGasolina do tipo float que é um atributo de classe.
class Abastecimento{
…static float custoLitroGasolina;
…float litros;
…float custo;
…Date horario;
}

Além de atributos com valores variáveis (podem ser alterados), é possível definir atributos com valores constantes (não podem ser alterados). Em java, os atributos com valores constantes são identificados pelas palavras-chave static e final. No exemplo abaixo criamos três constantes GASOLINA_COMUM, GASOLINA_ESPECIAL e ALCOOL com valores constantes.
class Abastecimento{
// valores constantes
…static final int GASOLINA_COMUM = 0;
…static final int GASOLINA_ESPECIAL = 1;
…static final int ALCOOL = 3;
// valores variáveis
…float custoLitro;
…float litros;
…float custo;
…Date horario;
}

Definição de métodos
Os métodos definem os serviços que podem ser solicitados a uma instância. Os métodos definem, portanto, o comportamento dinâmico de uma instância. Na definição de uma classe são definidos os métodos da classe. Em java, a definição de um método inclui um modificador (opcional), o tipo do dado retornado após a execução do método, o nome do método, os nomes e tipos dos parâmetros e o código delimitado por chaves.

Por exemplo, na classe Abastecimento podemos criar os métodos obterCustoLitro(), especificarLitro(), incrementarLitros() e encerrarAbastecimento().
class Abastecimento{
…// valores constantes
…static final int GASOLINA_COMUM = 0;
…static final int GASOLINA_ESPECIAL = 1;
…static final int ALCOOL = 3;
…// valores variáveis
…float custoLitro;
…float litros;
…float custo;
…Date horario;
…// métodos
…void obterCustoLitro(){
…}
…void especificarLitro(){
…}
…void incrementarLitros(){
…}
…void encerrarAbastecimento(){
…}
}

Assim como existem atributos estáticos, também temos métodos que, ao serem executados, não acessam atributos de instâncias da classe. O código no método acessa
apenas variáveis locais ao método ou atributos de classe. São chamados métodos estáticos e, em Java, são definidos através da palavra chave static.
// Classe Math do Java
class Math{
…// Código do método
…static double cos(double a){
…}
}

Os métodos estáticos não precisam ser acessados através das instâncias, podemos chama los por meio do nome da classe. Por exemplo o método estático cos(double) da classe Math, pode ser acessado da seguinte maneira:
Math.cos(19,70); // Chama cos(19,70) da classe Math

Em java existem outros tipos de métodos que iremos falar mais adiante, eles são métodos abstratos e finais.

Semana que vem estarei de volta com a parte 4 do Mini Curso de Java: Encapsulamento. Até lá! 😉

[ad]

Últimos 5 artigos de Tiago Souza

Sobre Tiago Souza

De Campinas-SP, bacharel em Ciência da Computação pela Anhanguera Educacional. Técnico em Processamento de Dados pelo Cotuca é desenvolvedor Web e trabalhou dois anos com desenvolvimento PHP e Java. Atualmente trabalha como desenvolvedor .Net (C#). Utilizando metodologia SCRUM, Também desenvolve aplicativos para Android por prazer.

Deixe uma resposta