1 / 9

Linguagens de Programação Orientadas a Objetos

Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes mafm@cin.ufpe.br Aula 21 e 22- Classes Abstratas e Interfaces http://www.ufpa.br/sampaio/bd2003/lpoo Elaborado pelos professores: Admilson Ribeiro e Marco Fagundes.

nola
Download Presentation

Linguagens de Programação Orientadas a Objetos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes mafm@cin.ufpe.br Aula 21 e 22- Classes Abstratas e Interfaces http://www.ufpa.br/sampaio/bd2003/lpoo Elaborado pelos professores: Admilson Ribeiro e Marco Fagundes  Marco Fagundes

  2. Classes abstratas • Permite a definição de uma classe que declara a estrutura de uma abstração sem fornecer a implementação de cada método • A responsabilidade da implementação dos métodos é das subclasses • É utilizado o modificador abstract para declarar os métodos abstratos. • Uma classe abstrata tem tudo que uma classe concreta tem mais métodos abstratos • Herança Simples (extends)

  3. Classes abstratas public abstract class classeabstrata{} • Tais classes não podem ser instanciadas diretamente com o operador new • Não se pode declarar construtores abstract, ou métodos abstract static • Toda subclasse de uma classe abstract deve implementar todos os métodos abstract na superclasse

  4. Exemplo abstract class Abst01 { abstract void proc01( ); void procConcr( ){ System.out.println(“Dentro do metodo concreto de Abst01”); } } class Concr01 extends Abst01 { void proc01( ) { System.out.println(“Dentro do metodo concreto de Concr01”); } } class TestaAbstrata { public static void main(String args[ ]){ Abst01 a = new Concr01( ); a . proc01( ); a . procConcr( ); } }

  5. Interfaces • Uma interface é uma especificação explícita de um conjunto de métodos, que são implementados por uma classe • Uma determinada classe pode implementar um número ilimitado de interfaces (herança múltipla) • Interface é uma expressão de projeto enquanto que uma classe é uma combinação de projeto e implementação

  6. Interfaces • Nas interfaces, os métodos são declarados sem nenhum corpo • Para implementar uma interface, a classe tem que implementar os conjuntos de métodos declarados • Esses métodos devem corresponder exatamente às assinaturas dos método da interface

  7. Declaração interface interface nome { tipo-retornado nome-metodo1(lista-parametros); tipo-retornado nome-metodo2(lista-parametros); . . . tipo nome-var1 = valor; tipo nome-var2 = valor; . . . } interface Chamada { void proc1 (int param); }

  8. Declaração implements class nomeclasse [extends superclasse] [implements interface0 [,interface1 . . .] } { corpo-da-classe } class Cliente implements Chamar{ void proc1 (int p) { System.out.println(“método chamada com “ + p); } }

  9. Declaração implements class Cliente implements Chamar{ void proc1 (int p) { System.out.println(“método Chamar com “ + p); } } class TestaInterface{ public static void main (String args[ ]){ Chamar c = new Cliente( ); c.(42); } }

More Related