Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface...

Preview:

Citation preview

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.

Recommended