26
Interfaces

Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Embed Size (px)

Citation preview

Page 1: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Interfaces

Page 2: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Objetivos• Classes estáticas

• Uso de Constantes / final

• Conceito de Interface

• Declaração de Interface

• Uso de Interface

Page 3: 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.

Page 4: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Declaração de atributos de classe static

static {

// manipulação de atributos de classe static

}

Page 5: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Exemplo

Uma classe para um sistema de restaurante que tenha uma taxa básica

de serviço de 10%

Page 6: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

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;

}

}

Page 7: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

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());

}

}

Page 8: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Uso de Constantes

• Constante: tipo de variável que uma vez inicializado não aceita alterações de valor.

Page 9: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Declaração de Constantes

Modificador final: define uma constante.

Page 10: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Declaração de Constantes

public static final tipo identificador = valor

Page 11: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Declaração de Constantes

Identificador:

Todas as letras devem ser maiúsculas.

Page 12: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Declaração de Constantes

Exemplo:

public static final double PI = 3.141516;

Page 13: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

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.

Page 14: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

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.

Page 15: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Exemplo

Classe Endereco define duas constantes

para Endereco:

Comercial = 0 e Residencial = 1

Page 16: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

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;

}

Page 17: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

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;

}}

Page 18: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

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());

}

}

Page 19: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Interfaces

São formadas pela declaração de um ou mais métodos que obrigatoriamente não

possuem corpo.

Page 20: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Interface

A classe que implementou a Interface será obrigada a definir todos os métodos que

estão declarados na Interface implementada.

Page 21: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Interface

Os membros declarados em uma interface deverão ser públicos.

Page 22: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Interface

Variáveis podem ser declaradas em Interfaces, mas devem obrigatoriamente ser

públicas, estáticas e finais.

Page 23: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

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.

Page 24: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Declaração de Interface

[modificador] interface identificador {

// os métodos de uma interface não possuem corpo, somente definição

[modificador] tipoRetorno identificador([argumento]);

}

Page 25: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Uso de Interface

Palavra chave:

implements

Page 26: Interfaces. Objetivos Classes estáticas Uso de Constantes / final Conceito de Interface Declaração de Interface Uso de Interface

Uso de Interface

A interface pode ser utilizada quando classes não relacionadas implementam

um conjunto de métodos comuns.