Classes Abstratas e Interface. 2 Classe Abstrata  Uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos);

Slides:



Advertisements
Apresentações semelhantes
|Introdução a Java para programadores Telis. Jogo de Dados simples O jogo é jogado por dois jogadores. Cada jogador faz sua jogada (lança um dado), e.
Advertisements

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.
Herança, Polimorfismo e Classes Abstratas em Java
Java – Classes Abstratas
Prof. Thiago Pereira Rique
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Generalização, Especialização e Conceitos
Iniciação ao Java – Márcio F. Campos
Polimorfismo e Classes Abstratas Profa
Linguagem de Programação II
Interfaces em Java1 Interfaces Prof. Ricardo Linden.
JAVA ENUMS © 2009 by Jorge L. de Souza Leão março de 2009 PEE - COPPE/UFRJ.
Capítulo 9 Herança 1.
UMA ABORDAGEM SOBRE ORIENTAÇÃO A OBJETOS!
Clique para editar o estilo do subtítulo mestre Desenvolvimento web com Java JAVA 5 – Declarações e Controles de Acesso.
CRIANDO OBJETOS EM JAVA
Curso de extensão em Desenvolvimento Web
Se liga aí, que é hora da revisão!
Programação Orientada a Objetos com Java
JAVA Orientação a Objetos
Programação orientada a objetos: Polimorfismo
GEJAVA IV SCJA – Certificação Sun java associado exame cx
Interfaces.
Atributos, Encapsulamento e Interface em Java
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Classes Abstratas e Interfaces.
Professora Lucélia Oliveira
Programação Orientada a Objetos: Reuso
Programação Orientada a Objetos - Java
POO II JEAN CARLO MENDES
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Introdução às Java Threads
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Aula Prática 4 Monitoria IP/CC (~if669).
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Polimorfismo.
1 Marcio de Carvalho Victorino JAVA. 2 Declaração de Atributos [ ] [transient] [volatile] [static] [final] ; controle de acesso –public, package (default),
Interfaces POO Avançado.
Classes Abstratas e Interface
Capítulo 1. Classes internas  Classe interna  Instância da classe interna  Referências na classe interna  Modificadores de membros  Classe interna.
Implementação Orientada a Objetos – Aula 06 Conversão de tipos e métodos estáticos Prof. Danielle Martin Universidade de Mogi das Cruzes
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Herança Modelagem e Programação Orientada a Objetos
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )
Bruno Inojosa MCP .NET Framework
Linguagem II Classes Abstratas Interfaces. Davi Pires Revisão Reuso de código Superclasses e subclasses Composição vs. Herança Construtores.
Factory.
Atributos e Métodos Estáticos
Modificadores Programação II.
Herança.
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.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Curso Básico de Android
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Jean Carlo mendes
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
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.
Polimorfismo com Interfaces Pacotes em Java Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
AULA Mais Herança Curso: Informática (Subseqüente) Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
Herança e Polimorfismo Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de Informática,
PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++ PAE: Pedro Shiguihara Professor: Dilvan Moreira.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
PROGRAMAÇÃO FUNCIONAL COM SCALA Leonardo Lucena IFRN
Transcrição da apresentação:

Classes Abstratas e Interface

2 Classe Abstrata  Uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos);  Como classes abstratas são modelos de classes, então, não podem ser instanciadas, devem sempre ser herdadas por classes concretas;  Todos os métodos abstratos de uma classe abstrata devem obrigatoriamente ser implementados (sobrescritos) em uma classe concreta.

3 Classe Abstrata  Um método abstrato não possui corpo, apenas define a assinatura (protótipo) do método;  Classes abstratas são úteis quando uma classe define métodos a serem implementados apenas pelas suas subclasses;  Usamos o modificador de acesso abstract, uma palavra reservada do Java, para se criar classes abstratas;  Usa-se o mesmo modificador de acesso para se definir os métodos abstratos.

4 Classe Abstrata  Toda classe que possui pelo menos um método abstrato é automaticamente abstrata e deve ser declarada como tal;  Uma classe pode ser declarada abstrata mesmo se ela não possuir métodos abstratos;  Não existem atributos abstratos.

5 Definição de uma Classe Abstrata public abstract class AparelhoEletronico { private boolean ligado; //métodos abstratos – não são implementados public abstract void ligar(); public abstract void desligar(); public void setLigado(boolean ligado) { this.ligado = ligado; } public boolean isLigado() { return ligado; }

6 Estendendo uma Classe Abstrata public class TV extends AparelhoEletronico { private int canal; private int volume; public TV() { } /* implementação dos métodos abstratos */ public void desligar() { super.setLigado(false); setCanal(0); setVolume(0); } public void ligar() { super.setLigado(true); setCanal(3); setVolume(25); } // abaixo teríamos os métodos de get e set para canal e volume... }

7  Programa principal TV tv = new tv(); tv.ligar(); tv.Imprimir(); //tem que implementar tv.desligar(); tv.Imprimir();

8 Interface (o termo) » Interface (a palavra reservada): Java estendeu o conceito de interfaces à um nível ainda mais flexível que permite construir entidades que funcionam como um tipo de "contrato", onde são especificados os atributos e métodos que as classes que implementem a interface são obrigadas a implementar.

9 Interface (exemplo) public interface ControleRemoto { /* Perceba que apenas a assinatura dos métodos estão aqui. E cada método termina com um ponto-e-vírgula (;) ou seja, não são implementados */ void mudarCanal(int canal); void aumentarVolume(int taxa); void diminuirVolume(int taxa); boolean ligar(); boolean desligar(); }

10 Interface (a palavra reservada)  Como vimos anteriormente, uma classe pode estender suas funcionalidades obtendo as características de outra classe num processo que chamamos de herança;  Uma interface não é herdada, mas sim, implementada;  É um conjunto de métodos relacionados que não tem corpo, ou seja, sem implementação;

11 Interface (a palavra reservada)  Todo o código dos métodos da interface deve ser escrito dentro da classe que a implementa;  Obtemos as assinaturas dos métodos da interface em uma classe usando a palavra reservada implements ;  Uma classe só pode estender (herdar) um única superclasse, mas pode implementar várias interfaces, provendo uma maneira de se ter “herança múltipla” em Java.

12 Motivação para o uso de Interface  Estabelecer um “tipo” comum, um contrato, o qual várias outras classes podem fazer uso, sem necessitar saber da implementação;

13 Interface como um “tipo” public interface Funcionario { public String getNome(); public double getSalario(); } public class Pessoa implements Funcionario { private String nome; private double salario; public Pessoa(String nome, double salario) { this.nome = nome; this.salario = salario; } public String getNome() { return nome; } public double getSalario() { return salario; } } public class ExecutaPessoa { public static void main (String[] args) { Funcionario func = new Pessoa("José Dirceu", ); System.out.println( func.getSalario()); } }

14 Implementando múltiplas interfaces public interface Radio { public void liga(); public void desliga(); public void trocaEstacao( int frequencia); } public interface Relogio { public String getHoras(); } public class RadioRelogio implements Radio, Relogio { public void liga() { // Implentação } public void desliga() { // Implentação } public void trocaEstacao (int frequencia) { // Implentação } public String getHoras() { // Implentação return null; } }

15 Particularidades sobre Interfaces  Todos os atributos de uma interface são do tipo public static final (constantes) – mesmo que esses modificadores não sejam explícitos;  Todos os métodos de uma interface são implicitamente públicos e abstratos;  Todos os métodos de uma interface devem ser escritos na classe que a implementa;  Não há como instanciar uma interface, portanto não há método construtor;