Java orientação a objetos (interfaces)

armandodaniel777 2,358 views 12 slides Aug 28, 2013
Slide 1
Slide 1 of 12
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12

About This Presentation

No description available for this slideshow.


Slide Content

Curso de Java
by Antonio Rodrigues Carvalho Neto

Interfaces

Interface
Éum contrato sem implementação entre dois ou mais
objetos. A interface serve como balizador para
determinar quais métodos um objeto pode esperar do
outro.

Na interface não háatributos apenas assinaturas dos
métodos.
A interface éutilizada para reduzir o acoplamento,
facilitando o reuso de classes.
Todos os métodos na interface são abstracte public
por padrão, colocar estes modificadores no código é
uma redundância.

Exemplo de Interface
Nota : A interface ElementoDiagrama tem apenas a declaração de métodos
sem código. Já as classes Retangulo e Circulo pelo fato de
implementarem a interface ElementoDiagramaeles possuem os métodos
desenhar()e redimensionar()implementados com código.

Interface
A interface deve ser criada utilizando-se:
<modificador> interface <nome da interface> {
<tipo de retorno 1> <nome metodo 1> (<parametros>);
<tipo de retorno 2> <nome metodo 2> (<parametros>);
<tipo de retorno n> <nome metodo n> (<parametros>);
....
}

Exemplo:
public interface Funcionario {
public void recebeSalario(float valor);
public void bateCartaoEntrada(Date horaAtual);
public void bateCartaoSaida(Date horaAtual);
}

Interface
Uma classe pode implementar uma ou mais interfaces, quando isso ocorre
a classe deve implementar ou seja colocar código em todos os métodos
recebidos da(s) interface(s).

Para implementar a interface a classe precisa utili zar a palavra-chave
implements seguida do nome da interface.

Se houver mais de uma interface implementada, então os nomes devem ser
separados por virgula (,)

Ao implementar mais de uma interface a classe precisa s obrescrever códigos
em todos os métodos recebidos das interfaces implementadas.

Exemplo:
public class operador implements Funcionario {
public void recebeSalario(float valor) {
System.out.println(“Salário Recebido no valor de : “ + valor);
}
public void bateCartaoEntrada(Date horaAtual) {
System.out.println(“Chegada as : “ + horaAtual);
}
public void bateCartaoSaida(Date horaAtual) {
System.out.println(“Saida as : “ + horaAtual);
}
}

Interface
As interfaces podem ser representadas da
seguinte forma:
public interface ElementoDiagrama {
public void desenhar();
public void redimensionar(); }
public class Retangulo implements
ElementoDiagrama{
int X;
int Y;
int Base;
int Altura
public void desenhar() {
System.out.println(“Desenha o
retangulo na posição (” + X + “, “ +
Y + “) com Altura

” + Altura + “ e
comprimento

” + Base);
}
public void redimensionar () {
System.out.println(“Pede novos valores
de X, Y e Base e Altura para o usuario”);
} }
public class Circulo implements ElementoDiagrama{
int X;
int Y;
int Raio;
public void desenhar() {
System.out.println(“Desenha o circulo na
posição (” + X + “, “ + Y + “) com Raio

”
+ Raio);
}
public void redimensionar () {
System.out.println(“Pede novos valores de X, Y
e Raio para o usuario”);
} }

Interface
Exemplo de desacoplamento –Arquitetura
InterfaceUsuario
mostraDados(String dados)
Sistema
mostra(InterfaceUsuario i)
String Dados
<<interface>>
Web
mostraDados(String dados)
Desktop
mostraDados(String dados)
Celular
mostraDados(String dados)

public interface InterfaceUsuario {
public void mostraDados(String dados); }
public class Web implements InterfaceUsuario {
HttpServletRequest req;
HttpServletResponse res;
public void mostraDados(String dados) {
PrintWriter out = res.getWriter();
out.println(“<H1>”+ dados + “</H1>”);
} } public class Sistema {
String Dados;
public void mostra(InterfaceUsuario i) {
i.mostraDados(“Dados : " + Dados);
}
}
public class Desktop implements InterfaceUsuario {
public void mostraDados(String dados) {
JOptionPane.showMessageDialog(null, dados);
}
}
public class Celular implements InterfaceUsuario {
public void mostraDados(String dados) {
alert = new Alert( dados );
Display.getDisplay(this).setCurrent(alert);
}
}
Interface

Exemplo de desacoplamento –Arquitetura

Motor liga()
desliga()
float HP;
float RPM
Mecanica
concertaMotor(Motor m)
retifica(Motor m)
String nome
String RazaoSocial
<<interface>>
Carro liga()
desliga()
Trator liga()
desliga() Motocicleta
liga()
desliga()
Interface
Exemplo de desacoplamento –Motores

public interface Motor {
public void liga();
public void desliga(); }
public class Motocicleta implements Motor {
public void liga() {
System.out.println(“Motor Gasolina ligado”);
}
public void desliga() {
System.out.println(“Motor Gasolina
desligado”);
} } public class Mecanica {
String RazaoSocial;
String Nome;
public void concerta( Motor m) {
m.desliga();
System.out.println(“Consertado...”);
m.liga();
}
public void retifica( Motor m) {
System.out.println(“Retificando...”);
}
}
public class Carro implements Motor {
public void liga() {
System.out.println(“Motor Alcool ligado”);
}
public void desliga() {
System.out.println(“Motor Alcool desligado”);
}
}
public class Trator implements Motor {
public void liga() {
System.out.println(“Motor Diesel ligado”);
}
public void desliga() {
System.out.println(“Motor Diesel desligado”);
}
}
Interface

Exemplo de desacoplamento –Motores

Exercício
Crie a interface TipoPagamentoe faça com que as
classes Dinheiro, Cheque e CartaoCredito
implementem esta interface, conforme o desenho
abaixo.
Tags