0% acharam este documento útil (0 voto)
4 visualizações16 páginas

As Classes em Java

O documento aborda a criação de classes em Java, explicando seus elementos como atributos e métodos, além do funcionamento do método main e da API de Java. Ele detalha a definição de classes, atributos, métodos, construtores e a importância de modificadores de acesso. Exemplos práticos são fornecidos para ilustrar a implementação de classes, atributos e métodos em Java.

Enviado por

Luiz Baptista
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações16 páginas

As Classes em Java

O documento aborda a criação de classes em Java, explicando seus elementos como atributos e métodos, além do funcionamento do método main e da API de Java. Ele detalha a definição de classes, atributos, métodos, construtores e a importância de modificadores de acesso. Exemplos práticos são fornecidos para ilustrar a implementação de classes, atributos e métodos em Java.

Enviado por

Luiz Baptista
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

JAVA I

2. AS CLASSES EM JAVA
Aprende a criar uma classe em Java com os seus diferentes elementos (atributos e métodos) e conhece
como funciona o método main e a API de Java.

© Accenture. Todos os direitos reservados. Confidencial


LISTA DE CONTEÚDOS

JAVA I

1. Conceitos avançados de Java


1.1. Tipos de operadores

1.2. Estruturas de controlo

1.3. Perguntas frequentes

2. As classes em Java
2.1. O que é uma clase?

2.2. Atributos da classe

2.3. Métodos da clase

2.4. Método Main

2.5. API de Java: import

2.6. Perguntas frequentes

3. Os objetos em Java
3.1. O que é um objeto?

3.2. Métodos dos objetos

3.3. Perguntas frequentes

© Accenture. Todos os direitos reservados. Confidencial


2. AS CLASSES EM JAVA
2.1. O QUE É UMA CLASSE?

O QUE É UMA CLASSE JAVA?


Uma Classe Java é uma folha de cálculo que define a forma que terão os objetos criados na
mesma. Isto inclui o tipo de características (atributos) e os comportamentos (métodos) comuns
que terão os objetos que serão criados a partir dela.

Vamos ver com um exemplo. Um automóvel (classe) tem uma série de características (atributos) e
comportamentos (métodos) comuns a todos os automóveis, mas também tem características e
comportamentos específicos para um modelo de automóvel (objeto) em concreto. O que torna diferente
cada modelo de automóvel (objeto), que criamos a partir desta classe, serão as suas características
particulares (atributos: tamanho, cor, número de lugares…) e comportamentos (métodos: arrancar, acelerar,
travar…).

Classe: AUTOMÓVEL

cor
ATRIBUTOS Armazenam as características de um objeto
comprimento
(o que se sabe de um objeto).
nº de lugares

arrancar
MÉTODOS Representam o comportamento de um objeto
acelerar
(o que faz um objeto).
travar

APLICAÇÃO EM JAVA
A declaração de uma classe realiza-se através da palavra reservada class seguida do seu nome.

A palavra chave class pode ser precedida de um modificador de acesso:

public → pode-se aceder à classe a partir de qualquer lugar do programa.


protected → pode-se aceder à classe a partir do pacote ou subclasse desta. private
→ só se pode aceder à classe a partir dela própria.

Vejamos a sua sintaxe: [modificadores] class NomeClasse {

A implementação inclui os atributos e métodos da classe, depois da sua declaração.

2
© Accenture. Todos os direitos reservados. Confidencial
Exemplo CLASSE:

No nosso exemplo definimos a classe como public. A seguir, definimos os atributos e métodos
que explicaremos nas secções seguintes.

public class Automóvel {

//declaração de atributos
private String cor;
private double comprimento;
private int lugares;

//declaração de métodos
public void arrancar (){};
public void acelerar (){};
public void travar (){};

3
© Accenture. Todos os direitos reservados. Confidencial
2. AS CLASSES EM JAVA
2.2. ATRIBUTOS DA CLASSE

ATRIBUTOS DA CLASSE
Os atributos da classe definem as características desta, no nosso exemplo vimos que todos os
automóveis têm uma cor, um comclica em nto e número de lugares. Ora, estes atributos poderão
ser dados de diferentes tipos:

Primitivo: int (números inteiros), float (decimais de até 7 dígitos), double (decimais mais precisos
de até 16 dígitos).

Complexo: String (texto ou cadeias de texto), Date(data). Também podemos criar os nossos próprios
tipos complexos.

Definem-se dentro da classe, mas numa secção diferente dos métodos, e inicializam-se de forma
automática para cada objeto criado a partir dessa classe.

O nome dos atributos por convenção escreve-se começando por minúscula, e à frente de cada
atributo é necessário indicar o tipo de dado seguido do nome do atributo.

Adicionalmente, podem ser precedidos de um modificador de acesso:

public: Quando se declara um atributo público está-se a permitir que a partir de qualquer outra
classe se possa referenciar diretamente.

private: Se se declarar um atributo privado não se poderá aceder diretamente a ele a partir
de outra classe diferente. Por isso, será necessário recorrer a algum método que nos
disponibilize ou nos modifique o seu valor.

protected: Os atributos declarados assim são acessíveis diretamente apenas a partir da


própria classe, das subclasses desta (herança) e das classes que se encontram dentro do
mesmo pacote (explicar-se-á posteriormente).

Dados complexos: dados complexos, que podem ser constituídos por várias variáveis, outros dados complexos
e/ou comportamentos (cadeias de textos, datas…)

Datos primitivos: dados simples que não precisam de ser criados, como números, caráteres, verdadeiro/falso.

Modificador de acceso: os modificadores de acesso em Java ajudam a restringir o alcance de uma classe,
construtor, variável, método ou membro de dados.

4
© Accenture. Todos os direitos reservados. Confidencial
Exemplo ATRIBUTOS da classe:

Continuando com o exemplo anterior, para a nossa classe Automóvel, os atributos serão String
cor (pois é de tipo texto), double comclica em nto (tipo número decimal preciso) e int lugares
(número inteiro).

No nosso exemplo definimos todos os atributos como private. Tal como dissemos, estes estão
dentro da classe, mas numa secção diferente dos métodos.

public class Automóvel {

//declaração de atributos
private String cor;
private double comprimento;
private int lugares;

//declaração de métodos
public void arrancar (){};
public void acelerar (){};
public void travar (){};

5
© Accenture. Todos os direitos reservados. Confidencial
2. AS CLASSES EM JAVA
2.3. MÉTODOS DA CLASSE

MÉTODOS DA CLASSE

Um método é um grupo de declarações ou sentenças que realizam uma tarefa específica.


Pode-se chamar um método tantas vezes quantas precisarmos. Os métodos da classe definem
o comportamento dos objetos da classe. Seguindo o nosso exemplo, para a classe automóvel
os métodos serão: arrancar, acelerar, travar… ou seja, tudo o que podemos fazer com um
automóvel.

A declaração ou implementação de um método inclui, o cabeçalho desse método e o corpo


(grupo de sentenças) definido entre chavetas “{ }”.

Os componentes do cabeçalho do método são:

• Modificadores (opcional).

• Tipo de retorno (usaremos void no caso de não devolver nada).

• Nome: Deve-se dar um nome ao método para poder ser invocado ou usado sempre
que precisarmos; esse mome escreve-se em minúsculas, mas quando tem mais do
que uma palavra, a inicial da segunda palavra escreve-se em maiúscula. Exemplo:
arrancarSemRuido, acelerarRapido.

• Lista de parámetros: Serve-nos para passar informação específica quando for


necessário para a execução do método. A lista de parâmetros separa-se por vírgulas
e indica-se, por cada parâmetro, o tipo e o nome.

Tem en conta que…


Podemos criar métodos dentro de qualquer classe, sem necessidade de ser una classe “folha de
cálculo” para criar instâncias, de tal forma que podemos ter uma classe onde apenas tenhamos a
implementação de métodos que possamos usar a partir de outras classes.

De forma adicional, pueden ir precedidos de uno o varios modificadores:

MODIFICADORES DE ACESSO

Especificam as restrições de acesso ou o alcance de uma classe, método ou variável:

public: Quando se declara um método como público está-se a permitir que a partir de
qualquer outra classe se possa referenciar diretamente.

private: Se se declara um método como privado, não poderá ser invocado a partir de
nenhuma outra classe.

protected: Os métodos assim declarados são acessíveis diretamente a partir da própria


classe, das subclasses desta (herança) e das classes que se encontram dentro do mesmo
pacote.

6
© Accenture. Todos os direitos reservados. Confidencial
MODIFICADORES DE NÃO ACESSO

Não alteram o alcance da classe, método ou variável, apenas lhe disponibiliza funções adicionais:

static: Utiliza-se para definir um método que está associado a uma classe, em vez da sua
instância, ou seja, serve para criar métodos que pertencem á classe e não à instância da
classe. O que implica isto? Que não é necessário criar uma instância ou objeto da classe
para poder aceder ou utilizar esse método, podem-se invocar simplesmente pelo seu nome
sempre que forem usados na mesma classe em que se defina ou, se sendo usados a partir de
outra classe, antepondo o nome da classe onde foi criado: [Link].

final: Um método declarado como final não pode ser sobrescrito pelas subclasses da classe a
que pertence (explicar-se-á no tema da herança). Só os métodos static podem ser final.

abstract: Define um método abstrato, ou seja, é um método que NÃO tem uma implementação, uma vez
que a implementação será dada pelas subclasses da classe a que pertence (explicar-se-á no tema da
herança). É um método incompleto, não tem corpo ou implementação, por isso não tem chavetas “{}” e
termina com ponto e vígula: public abstract void saudar();

Exemplo MÉTODOS da classe:

No nosso exemplo definimos todos os métodos como public (colocámos void porque nenhum
deles tem que devolver um valor de retorno).

public class Automóvel {

//declaração de atributos
private String cor;
private double comprimento;
private int lugares;

// declaração de métodos
public void arrancar (){};
public void acelerar (){};
public void travar (){};

RETORNO DO MÉTODO:
Quando se cria um método, outra das características que o define é se queremos que nos devolva
algum valor ou não.

No caso de não querer que seja devolvido qualquer valor, na declaração do método deve-se
colocar a palavra void à frente do nome do método, como acabamos de verificar no exemplo
anterior.

No caso de ser preciso que o método devolva um valor, tem que se indicar o tipo de dado que
esperamos que o método devolva, além disso, devemos usar dentro do corpo do método a palavra
reservada return para fazer com que devolva o valor. Por exemplo, se quisermos criar um método
que nos devolva a cor do nosso automóvel, neste caso temos que indicar à frente do nome do
método (getCor) o tipo de dado que será o valor de retorno (primitivo ou complexo), no nosso
caso devolver-nos-á uma cor, por isso, definiremos o método precedido da palavra String.

7
© Accenture. Todos os direitos reservados. Confidencial
Tem en conta que…
Dentro de um método com retorno de dados, as linhas de código que existam depois do return
não serão executadas porque, ao executar-se esta sentença, sai-se do método.

Exemplo:

public class Automóvel {


//declaração de atributos
private String cor;
private double comprimento;
private int lugares;

//declaração de métodos que devolvem a cor do automóvel


public String getCor () {
return cor;
}
}

CONSTRUTORES DA CLASSE
Os construtores são um tipo de métodos especiais, que inicializam os atributos da classe sempre
que se cria um objeto com valores coerentes. Imaginemos que criamos um tipo de automóvel que
é novo e um dos seus atributos é ter um comprimento de 0 metros (não faz sentido). O construtor
serve para estabelecer o estado inicial do objeto (mínimo 2 metros e máximo 4 metros). Também
podemos criar um construtor para definir que os automóveis que criarmos sejam vermelhos.

Uso: para criar ou estabelecer o estado inicial de um objeto.

Nome: devem ter o mesmo nome que a classe.

Estrutura: têm a estrutura de um método.

Valor: não devolvem valor.

Há quatro tipos de construtores:

Construtor vazio/por defeito: não tem parâmetros de entrada nem instruções a executar
(não faz nada). No entanto, serve para invocar os valores predeterminados pelo
sistema (por exemplo, comprimento inicial do objeto zero). No nosso exemplo,
deixamos que o sistema estipule valores predeterminados para os atributos:

public Automóvel() {
}

Construtor de cópia: só tem um parâmetro de entrada, que será outro objeto da


mesma classe. Serve para clonar objetos, de tal modo que devemos atribuir a cada
um dos nossos atributos o valor dos atributos do objeto a copiar. No exemplo
atribuímos ao nosso próprio atributo (cor) o valor do atributo (cor) do objeto que
estamos a copiar:

public Automóvel (Automóvel nomeObjeto) {


[Link] = [Link];
}

8
© Accenture. Todos os direitos reservados. Confidencial
Construtor comum: é o que recebe parâmetros para atribuir valores iniciais aos
atributos da classe. No nosso exemplo, atribuímos um valor inicial de 2 metros ao
atributo comprimento:

public class Automóvel{


double comprimento;

public Automóvel(){
comprimento = 2;
}
}

Construtor de parâmetros: recebe como parâmetros os diferentes valores para cada um


dos atributos do objeto a criar. No exemplo, atribuímos um comprimento concreto ao
atributo do objeto:

public class Automóvel{


double comprimento;

public Automóvel(){
comprimento = 2;
}

public Automóvel (double comp){


[Link] = comp;
}
}

Tem en conta que...


- Os construtores são chamados automaticamente quando se cria um objeto.
- Em todas as classes Java, há sempre um construtor. Se não for definido pelo utilizador,
existe o construtor por defeito ou implícito, que será o construtor vazio.

9
© Accenture. Todos os direitos reservados. Confidencial
PALAVRA RESERVADA THIS
Como vimos nos exemplos dos construtores, a palavra reservada this usa-se para fazer
referência às propiedades (atributos) do objecto, mas também poderemos usá-lo para aceder
a outros métodos ou construtores do objecto atual.

• [Link]: acede a um atributo da mesma classe.


• this.método(): acede a um método da mesma classe.
• this(): chamamos outro construtor da mesma classe.

Na realidade, não é sempre obrigatório o uso de this, apenas será necessário utilizá-lo
quando estivermos a atribuir a um atributo um parâmetro que coincida com o nome,
porque assim o compilador pode distinguir se estamos a fazer referência ao atributo (cor)
ou ao parâmetro (cor), porque se o atributo e o parâmetro tivessem identificador diferente
não te faria falta, como se pode ver no exemplo.

Exemplo:

public class Automóvel{


// declaração de atributos
private String cor;
private double comprimento;
private int lugares;

//Construtor de parâmetros
public Automóvel(String cor, double comp, int lugares){
[Link] = cor;
comprimento = comp; //Aquí não é necessário usar this
[Link] = lugares;
}
}

10
© Accenture. Todos os direitos reservados. Confidencial
SETTERS E GETTERS
Quando declaramos os nossos atributos como private, como no exemplo da classe Automóvel,
precisamos dos métodos públicos conhecidos como getters e setters que nos permitem
manusear ou modificar os valores dos nossos atributos ou recuperar os valores desses atributos.

No caso de os atributos serem públicos, não faria falta usá-los, pois ter-se-ia acesso a eles
sem qualquer tipo de controlo.

SET GET
Permitem modificar os atributos Permitem aos objetos retomar os valores dos
privados. seus atributos privados.
Exemplo: Atribuir uma cor Exemplo: Devolver a cor do automóvel.
específica ao atributo (cor) do
automóvel.

Tem en conta que…


No caso de o atributo ser de tipo boolean (verdadeiro/falso), será usada a palavra “is” em vez de
“get”.

O nome destes métodos começará pelas palavras get ou set, conforme o caso, seguido do
nome do atributo em maiúsculas.

No nosso exemplo da classe Automóvel, sendo todos os atributos privados,necessitamos dos


métodos setters e getters para cada um deles, de tal modo que precisamos do método get para
nos permitir devolver o valor de um atributo usando o return, cujo nome seria getCor. De igual
modo, precisamos do método set que nos permita atribuir um valor ao atributo, cujo nome do
método seria setCor.

Exemplo:

public class Automóvel {


// declaração de atributos
private String cor;
private double comprimento;
private int lugares;

// declaração de método get que devolve a cor do automóvel


public String getCor(){
return cor;
}

// declaração de método set que modifica a cor do automóvel


public void setCor(String vermelho){
[Link] = vermelho;
}
}

11
© Accenture. Todos os direitos reservados. Confidencial
2. AS CLASSES EM JAVA
2.4. MÉTODO MAIN

Já vimos que os métodos são um conjunto de instruções ou comportamentos definidos dentro


de uma classe, que realizam uma determinada tarefa (arrancar, travar, imprimir, devolver um
valor) para os objetos que criaremos a partir desta.

Embora, por outro lado, uma classe também possa ser constituída por métodos estáticos que
não precisam de objetos, como é o caso do método Main.

MÉTODO MAIN
O método main serve para iniciar a execução de qualquer programa em Java. Esse método
é conhecido como ponto de entrada de uma classe.

PRINCÍPIOS DO MÉTODO MAIN:

Deve incluir sempre os modificadores: public (o método será visível para todas as classes em
todas as partes) e static (o método é estático, por isso pode-se chamar ou usar a partir de
qualquer classe sem necessidade de criar uma instância da classe em que foi criado o
referido método).

Não pode devolver um valor como resultado, deve indicar o valor void como retorno.

O seu parâmetro de entrada será sempre um array de tipo String que deve
aparecer obrigatoriamente como argumento deste método.

Exemplo: Imagina que queremos criar um programa que apenas imprima um texto de saudação
“Olá a todos!!!”. Para esta classe não temos objetos, só criaremos a classe, no nosso caso
chamamos-lhe Robot:

public class Robot {


public static void main(String[] args){
[Link](“Olá a todos!!!");
}
}

Em Java pode-se escrever o método Main de três formas diferentes sem que isto provoque um
erro na execução do programa:

• public static void main(String args[]) {}


• public static void main(String[] args){}
• public static void main(String... args){}

12
© Accenture. Todos os direitos reservados. Confidencial
2. AS CLASSES EM JAVA
2.5. API DE JAVA: IMPORT

O QUE É A API DE JAVA?

A API de Java é uma Interface de Programação de Aplicações (API, na sua sigla em inglês:
Application Programming Interface) fornecida pelos criadores da linguagem de programação
Java, que disponibiliza os meios para desenvolver aplicações Java, ou seja, oferece um
conjunto de classes e interfaces predefinidas, que se copiam durante a instalação de Java,
para realizar as nossas aplicações, podendo utilizá-las quando for necessário.

IMPORT
A API Java está organizada em pacotes que contêm um conjunto de classes relacionadas
semanticamente.

Se no nosso programa for necessário usar algum recurso ou recursos da API de Java,
iremos importá-los para a nossa classe para os podermos usar.

Como importamos pacotes?

import [Link].*; // Com isto importaríamos todas as classes deste pacote.


import [Link]; // só importamos a classe designada.

Exemplo: A seguir, vemos um exemplo em que se indica em primeiro lugar o package (que já vimos
no primeiro tema de Introdução ao Java) e é o local onde guardaremos a classe que estamos a
criar, além disso, como queremos definir um dos nossos atributos de tipo data, podemos utilizar o
tipo Date, que é uma classe própria da API de Java, devendo assim incluir um import dessa classe
para a utilizar.

package [Link];

import [Link];

public class Pessoa {


private String nome;
public Date dataNascimento;

public void saudação() {


[Link](“Olá ” + nome);
}
}

13
© Accenture. Todos os direitos reservados. Confidencial
2. AS CLASSES EM JAVA
2.6. PERGUNTAS FREQUENTES

• As declarações em Java admitem tiles (~)?


Não! Devemos escrever as palavras que tenham til sem o mesmo. Também não se
recomenda o uso do “ã”

• O que quer dizer que o método não tem retorno?


Quer dizer que temos um método que não nos devolve qualquer valor, ou seja, limita-se
a executar uma série de instruções. Este declara-se com a palavra void.

14
© Accenture. Todos os direitos reservados. Confidencial
© Accenture. Todos os direitos reservados. Confidencial

Você também pode gostar