Java - Interfaces Prof. Msc. Flávio Viotti.

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

Programação em Java Prof. Maurício Braga
Paradigmas da Programação – Semestre 1 – Aula 6
Classes Abstratas e Interfaces
Modificadores Marco Antonio. Introdução Em todas as linguagens de programação o acesso a classes/métodos deve seguir algumas regras.
Java – Classes Abstratas
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTERFACES Prof. Thiago Pereira Rique
Orientação a Objetos: Encapsulamento e Classificação
Generalização, Especialização e Conceitos
Programação Básica em Java
Polimorfismo e Acoplamento Dinâmico
Polimorfismo e Classes Abstratas Profa
Wagner Santos C. de Jesus
1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação.
Orientação a Objetos Classes
Interfaces em Java1 Interfaces Prof. Ricardo Linden.
Integração entre objetos
Classes & Objectos em JAVA5
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Linguagem técnica de programação I Java – REVISÃO
CRIANDO OBJETOS EM JAVA
Programação Orientada a Objetos com Java
JAVA Orientação a Objetos
Linguagens Orientadas a Objeto
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Tipos Abstratos de Dados
Atributos, Encapsulamento e Interface em Java
Programação I Aula 2 (Métodos)
Linguagens de Programação II Aula 04 – Entendendo Classes
Os métodos equals() e hashCode()
if669 - Introdução à Programação
Professora Lucélia Oliveira
UML e Java, Introdução AB,20001 Diagrama de Classes UML e JAVA Problema Existem diversos tipos de contas bancárias. Todas as contas têm um atributo saldo.
PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof
PROGRAMAÇÃO - INTRODUÇÃO George Gomes Cabral. DECOMPOSIÇÃO Dividir para conquistar: Paradigma básico para tratamento de grandes problemas. Nossa meta.
Programação Orientada a Objetos: Reuso
Pilhas Profa. Nádia Félix.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
Wagner Santos C. de Jesus
Orientação a Objetos Parte II
Implementação Orientada a Objetos – Aula 03
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota (com material da Qualiti Software Process)
Funções Matemáticas e de String
1 Marcio de Carvalho Victorino JAVA. 2 Declaração de Atributos [ ] [transient] [volatile] [static] [final] ; controle de acesso –public, package (default),
Classes Abstratas e Interface
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
Programação I Aula 4 (Expressões Booleanas e Expressões de Seleção) Prof. Gilberto Irajá Müller Última atualização 17/3/2009.
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )
Modificadores Programação II.
Conceitos de OO em Java Parte I
Classes abstratas São classes das quais não se pode instanciar objetos. São classes das quais não se pode instanciar objetos. Seu objetivo é ser herdada.
2 – Revisão de Programação Orientada a Objetos
2 – Revisão de Programação Orientada a Objetos
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Array e ArrayList LPOO – 01/09/14.
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Classes Abstratas e Interface. 2 Classe Abstrata  Uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos);
1 Interface (o termo) » Interface (a palavra reservada): Java estendeu o conceito de interfaces à um nível ainda mais flexível que permite construir entidades.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Java - Interfaces Prof. Msc. Flávio Viotti

Interfaces Interface Podemos definir uma interface como um conjunto de métodos com suas devidas assinaturas sem nenhuma programação. Sintaxe Importante Toda variável criada em uma interface quando implementada irá se transformar em uma constante!!!!! public interface Exemplo { int valor=0; public void metodo1(); public int metodo2(String p1, float p2); public Object metodo3(Object o); } Prof. Msc. Flávio Viotti

Interfaces Problema Real Imagine um Sistema de Controle de Banco que pode ser acessado além dos Gerentes pelos Diretores do Banco. Então teríamos uma classe Diretor e uma Gerente. public class Diretor extends Funcionario { public boolean autentica(int senha) { //Verifica se a senha confere } public class Gerente extends Funcionario { //Verifica se o depto dele tem acesso Prof. Msc. Flávio Viotti

Diagrama de Classe do Sistema Interfaces Diagrama de Classe do Sistema Repare que o método autenticação de cada tipo de Funcionario pode variar muito. Considere a classe principal SistemaInterno. Prof. Msc. Flávio Viotti

Interfaces public class SistemaInterno { void login(Funcionario funcionario) { //chamar o método autentica não da! Nem todo funcioinario tem } Soluções Criar um método login para cada tipo de funcionário??? R: Irá gerar problema, pois sempre que existir um novo tipo de funcionario autenticável a classe SistemaInterno teria que ser alterada!!!! Prof. Msc. Flávio Viotti

Interfaces Nova solução Prof. Msc. Flávio Viotti

Novas classes Interfaces As classes Diretor e Gerente passariam a extender FuncionarioAutenticavel... E a classe SistemaInterno.. public class FuncionarioAutenticavel extends Funcionario { public boolean autentica(int senha) { //Faz as autenticações } public class SistemaInterno { void login(FuncionarioAutenticavel fa) { int senha = //pegar a senha biometrica boolean ok = fa.autentica(senha) } Prof. Msc. Flávio Viotti

Interfaces Novo Problema Precisamos que um Cliente tambem acesse o sistema. Mas.... um Cliente não é um funcionário. Necessitamos achar uma opção de referenciar Diretor, Gerente e Cliente de uma mesma maneira. Se existisse uma forma na qual essas classes garantissem a existencia de um determinado método, através de um contrato, resolveríamos o problema. Esse contrato pode vir na forma de uma interface, que define que: “Quem quiser ser autenticável precisa saber fazer: 1- autenticar dada uma determinada senha e devolver um booleano” Prof. Msc. Flávio Viotti

Nova interface Interfaces Lemos a interface da seguinte maneira: “quem desejar ser autenticavel precisa saber autenticar dado um inteiro e retornando um booleano”. Realmente um contrato, onde quem assina se responsabiliza por reescrever esses métodos (cumprir o contrato). public interface Autenticavel { boolean autentica(int senha); } class Gerente extends Funcionario implements Autenticavel { private int senha; // outros atributos e métodos public boolean autentica(int senha) { if(this.senha != senha) return false; // pode fazer outras possiveis verificacoes, como saber se esse // departamento do gerente tem acesso ao Sistema return true; Prof. Msc. Flávio Viotti

Novo diagrama de classe Interfaces Novo diagrama de classe Prof. Msc. Flávio Viotti

Exercicios Interfaces 1 – Implemente todas as classes desses slides juntamente com sua programação. Faça um método main() que instancie um objeto de cada classe e veja o que voce pode fazer com as senhas. 2 – Resolva os exercicios do livro [1] pag. 47 Prof. Msc. Flávio Viotti

Interfaces Bibliografia [1] Sintes, Tony; Aprenda Programação Orientada a Objetos em 21 dias – São Paulo: Pearson Education do Brasil, 2002 Prof. Msc. Flávio Viotti