• Nenhum resultado encontrado

Programação Orientada a Objetos

N/A
N/A
Protected

Academic year: 2021

Share "Programação Orientada a Objetos"

Copied!
15
0
0

Texto

(1)

Programação Orientada a Objetos

Interfaces

(2)

Abstração (Revisão)

• Decompor um sistema complicado em suas partes fundamentais

• Descrevê-las em uma linguagem simples e precisa

– Atribuir-lhes um nome e descrever suas funcionalidades

• Abstrair os detalhes desnecessários

• Modelar conceitos, entidades, elementos, problemas e características do mundo real

levando em conta apenas os detalhes importantes

• Vantagem:

– Robustez

(3)

Abstração - Necessidades

• Definir um conjunto de requisitos para as classes que precisam adequar-se a ela

• É necessário descrever o que as classes devem fazer, sem especificar como devem fazer

• Tipos Abstratos de Dados (TADs):

– Define o que cada operação faz, mas não como o faz

• Em Java:

– Expresso por uma interface

(4)

Interface

• Visão externa da classe

– Membros acessíveis pelo usuário da classe – Conjunto de métodos públicos

– Pode ter constantes

• atributos final

– Ao se usar um objeto de uma classe, o

programador conhece a interface do objeto – Uma interface define um contrato a ser

cumprido

– Podemos definir apenas interface

(5)

Interface

• Sintaxe:

public interface NomeInterface {

// Assinaturas dos métodos;

}

(6)

Interface

• Exemplo:

public interface Conta {

public void depositar(double valor);

public void sacar (double valor);

public double getSaldo();

}

(7)

Definição de Interface

• Similar a definição de classe

• Todos os métodos são:

– Públicos – Abstratos

• Todos os atributos são:

– públicos – estáticos – finais

• Uma interface pode estender outras interfaces

– usando extends

– public UmaInterface extends Outra1, Outra2 {...}

(8)

Definição de Interface

• Não pode:

– Ter Campos de instância

– Implementar Métodos

(9)

Implementação de Interface

• Classes podem implementar uma interface

– Usando implements

– Classe deve implementar TODOS os

métodos definidos na interface

(10)

Implementação de Interface

Classe implementa

Interface

public interface Conta {

void depositar(double valor);

void sacar (double valor);

double getSaldo();

} class ContaImpl implements Conta{

public void depositar(double valor) { // ...

}

public double getSaldo() { // ...

return 0;

}

public void sacar(double valor) { // ...

}

Métodos definidos na interface

(11)

Implementação de Interface

• Uma classe pode implementar várias interfaces

– class Classe implements I1, I2, I3 {...}

• Se uma classe não implementar todos os métodos de uma interface deve ser abstrata

• Ao implementar uma interface a classe está assinando um contrato definido

• A programação deve ser voltada para interfaces

– Parâmetros de métodos

– Referências a objetos

(12)

Interfaces como tipo

• Interfaces são tipos

– Podem ser declaradas variáveis para interfaces

• Apenas os métodos da interfaces são acessados

– Uma classe pode ter várias interfaces

• Vários tipos

– Somente instâncias de classes que implementam uma determinada interface podem ser

referenciadas por uma variável que referencia esta interface

• Pode utilizar instanceof para verificar se um objeto implementa uma interface

(13)

Exercício

• Implemente o seguinte diagrama:

(14)

Dúvidas

(15)

Referências

• RICARTE, I. L. M.; Programação Orientada a Objetos:

Uma Abordagem com Java. UNIVERSIDADE ESTADUAL DE CAMPINAS.

• MARTINS, F. M.; JAVA6 e Programação Orientada pelos Objectos. FCA - Editora de Informática, 2015.

• Os 4 pilares da Programação Orientada a Objetos.

Disponível em: http://www.devmedia.com.br/os-4- pilares-da-programacao-orientada-a-objetos/9264.

Acesso em 15/05/2016

• Programação orientada a objetos com Java. Disponível em:

http://www.devmedia.com.br/programacao-orientada-a-

objetos-com-java-easy-java-magazine-1/18449. Acesso em 18/05/2016

Referências

Documentos relacionados

◦ Todos os objetos de uma classe são idênticos no que diz respeito a sua interface e implementação ( o que difere um objeto de outro é seu estado e sua identidade

• O Java ME fornece um ambiente para aplicativos em execução em uma grande variedade de dispositivos móveis e integrados, como:. – Telefones celulares

– Tipo de dados que o objeto armazena, ou seja, os estados possíveis que ele pode assumir (atributos) – Tipos de operações que podem ser executadas pelo. objeto, ou seja, o

para o usuário digitar um nome; pega o valor digitado e altera na variável nome do objeto da Conta Bancária, através do método Alterar Nome.. Realiza saque/depósito, e depois

– Crie um construtor parametrizado inicializando todas as variáveis com os valores recebidos dos parâmetros. – Crie um construtor default (Inicializando as variáveis da

• Diferentes componentes de um sistema não devem revelar detalhes internos de suas..

• É possível comprar acessando o método comprar, passando como parâmetro dois objetos, um do tipo Pessoa e outro do tipo Produto.. M.; Programação Orientada

– É o processo de esconder todos os detalhes de um objeto que não contribuem para suas características