Your SlideShare is downloading. ×
Java   orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Java orientação a objetos (interfaces)

436

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
436
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Curso de Java by Antonio Rodrigues Carvalho Neto
  • 2. Interfaces
  • 3. 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 abstract e public por padrão, colocar estes modificadores no código é uma redundância.
  • 4. 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 ElementoDiagrama eles possuem os métodos desenhar() e redimensionar() implementados com código.
  • 5. 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); }
  • 6. 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 utilizar 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 sobrescrever 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); } }
  • 7. 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”); } }
  • 8. 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)
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. Exercício Crie a interface TipoPagamento e faça com que as classes Dinheiro, Cheque e CartaoCredito implementem esta interface, conforme o desenho abaixo.

×