interfaces. objetivos classes estáticas uso de constantes / final conceito de interface...
TRANSCRIPT
Interfaces
Objetivos• Classes estáticas
• Uso de Constantes / final
• Conceito de Interface
• Declaração de Interface
• Uso de Interface
Atributos e métodos de classe static
É possível definir atributos para classes.
O atributo de classe deve ser definido fora dos métodos e ter obrigatoriamente o
modificador static.
Declaração de atributos de classe static
static {
// manipulação de atributos de classe static
}
Exemplo
Uma classe para um sistema de restaurante que tenha uma taxa básica
de serviço de 10%
public class Restaurante {
private static double taxaServico;
static {
taxaServico = 10.0;
}
public static double getTaxaServico( ) {
return Restaurante.taxaServico;
}
public static void setTaxaServico(double taxaServico) {
Restaurante.taxaServico = taxaServico;
}
}
public class Main {
public static void main(String[] args) {
System.out.println("Taxa de servico: " + Restaurante.getTaxaServico());
Restaurante.setTaxaServico(11.0);
System.out.println("Nova Taxa de servico: " + Restaurante.getTaxaServico());
}
}
Uso de Constantes
• Constante: tipo de variável que uma vez inicializado não aceita alterações de valor.
Declaração de Constantes
Modificador final: define uma constante.
Declaração de Constantes
public static final tipo identificador = valor
Declaração de Constantes
Identificador:
Todas as letras devem ser maiúsculas.
Declaração de Constantes
Exemplo:
public static final double PI = 3.141516;
Métodos e classes final
• É possível declarar classes e métodos como final.
• Um método final em uma superclasse não pode ser sobrescrito em uma subclasse.
• Uma classe declarada final não pode ser uma superclasse.
Declaração de Constantes
Modificador static: possibilita que o acesso seja feito diretamente pelo nome da classe, sem a necessidade de haver uma instância de objeto.
Exemplo
Classe Endereco define duas constantes
para Endereco:
Comercial = 0 e Residencial = 1
package org.me.endereco;
public class Endereco {
public static final int COMERCIAL = 0;
public static final int RESIDENCIAL = 1;
private int tipo;
private String logradouro;
public Endereco(){
tipo = Endereco.COMERCIAL;
}
public Endereco (int tipoEnd, String logradouroEnd){
tipo = tipoEnd;
logradouro = logradouroEnd;
}
public int getTipo(){
return tipo;
}
public void setLogradouro (String logradouro){
this.logradouro = logradouro;
}
public String getLogradouro(){
String local = " ";
switch (tipo){
case Endereco.COMERCIAL:
local += "COM: ";
break;
default:
local += "RES: ";
}
local +=logradouro;
return local;
}}
package testeendereco;
import org.me.endereco.Endereco;
public class Main {
public static void main(String[] args) {
Endereco End1 = new Endereco();
Endereco End2 = new Endereco(Endereco.RESIDENCIAL,"Rua Nove de Julho, 16" );
Endereco End3 = new Endereco(Endereco.COMERCIAL,"Rua Quinze de Agosto, 20" );
End1.setLogradouro("Rua ABCD, 01");
System.out.println(End1.getTipo() + " - " + End1.getLogradouro());
System.out.println(End2.getTipo() + " - " + End2.getLogradouro());
System.out.println(End3.getTipo() + " - " + End3.getLogradouro());
}
}
Interfaces
São formadas pela declaração de um ou mais métodos que obrigatoriamente não
possuem corpo.
Interface
A classe que implementou a Interface será obrigada a definir todos os métodos que
estão declarados na Interface implementada.
Interface
Os membros declarados em uma interface deverão ser públicos.
Interface
Variáveis podem ser declaradas em Interfaces, mas devem obrigatoriamente ser
públicas, estáticas e finais.
Interface
Um exemplo do uso de Interfaces acontece com os componentes gráficos na tela.
As interfaces possuem diversos métodos para o tratamento dos eventos que ocorrem
nestes componentes.
Declaração de Interface
[modificador] interface identificador {
// os métodos de uma interface não possuem corpo, somente definição
[modificador] tipoRetorno identificador([argumento]);
}
Uso de Interface
Palavra chave:
implements
Uso de Interface
A interface pode ser utilizada quando classes não relacionadas implementam
um conjunto de métodos comuns.