Programação Orientada a Objetos

Slides:



Advertisements
Apresentações semelhantes
Interfaces em Java1 Interfaces Prof. Ricardo Linden.
Advertisements

C# Herança Sharp Shooters .NET Universidade Federal de Pernambuco Centro de Informática Recife, 23/09/2002 Autor: Marden Menezes Costa.
GEJAVA IV SCJA – Certificação Sun java associado exame cx
POO II JEAN CARLO MENDES
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.
Jean Carlo mendes
TÉCNICO EM INFORMÁTICA Linguagem e Técnica de Programação III PROF. MARCELO N. SANTOS
PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++ Professor: Dilvan Moreira.
TÉCNICO EM INFORMÁTICA Linguagem e Técnica de Programação III PROF. MARCELO N. SANTOS
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
Linguagens de Programação Conceitos e Técnicas Amarrações Prof. Isabel Cafezeiro
Atributos e Métodos Restrições de Acesso Encapsulamento Herança.
Programação em Java RMI - Remote Method Invocation Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
Programação em Java Threads Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Linguagens de Programação Conceitos e Técnicas Expressões Prof. Isabel Cafezeiro
Estrutura de Dados (DPADF 0056) Aula 7 – Encadeamento de Memória Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior.
Classes Objetos Atributos Métodos Coletor de Lixo (Garbage Collector ) Confraria do Java Nivelamento. Caroline, Marcelo e Luiz 12/05/2007.
Generalização, Especialização e Conceitos Carlos Bazilio Depto de Ciência e Tecnologia Pólo Universitário de Rio das Ostras Universidade Federal Fluminense.
Classe Abstrata É uma classe que não pode ser instanciada; Freqüentemente aparece no topo de uma hierarquia de classes de programação orientada a objetos;
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal
Polimorfismo e suas aplicações em C++.
(baseado em slides de ex-alunos)
Introdução OO.
Linguagens de Programação Conceitos e Técnicas
Módulo I Capítulo 2: IDE e Variáveis
Introdução Java.
PROGRAMAÇÃO ORIENTADA A OBJETO - JAVA
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Linguagem Orientada a Objetos 2
Aula 7 – Padrão Abstract Factory
Projeto de PLP (2006.1) Extensão da Linguagem OO1
Java: Interfaces Alcides Calsavara.
Singleton e Template Method
Criação e manipulação de objetos
Unidade IV– Relacionamento entre Objetos
Testes e Qualidade de Software
Unidade V – Herança e Ligação Dinâmica
Programação Orientada a Objetos
Programação Orientada a Objetos

Desenvolvimento de Sistemas Orientados a Objetos
Programação Orientada a Objetos*
Unidade VI – Exceções e Interfaces
Programação Orientada a Objetos*
Programação Orientada a Objetos*
Rosemary Silveira Filgueiras Melo
Pacotes Servem para organizar o código, por exemplo, agrupar classes correlatas. Vamos supor uma classe Ponto2D pertencente ao pacote formas. A classe.
Programação Orientada a Objetos*
Tipos Abstratos de Dados
3.2 Sobrecarga de Métodos (Overloading)
Rosemary Silveira Filgueiras Melo
Rosemary Silveira Filgueiras Melo
Prof.: Bruno Rafael de Oliveira Rodrigues
3.1.7 Variáveis de Classe e Instância
Programação Orientada a Objetos
Laboratório I Mateus Raeder.
Usando JUnit.
Rosemary Silveira Filgueiras Melo
Curso básico de PHP. 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Estruturas de Dados em C
Estruturas definidas pelo programador
Tipos Primitivos de Dados
Compilação de Linguagens OO
Ordenando Coleções A Classe Collections.
A interface java.util.List
Programação Orientada a Objetos
Programação de Computadores II
Programação de Computadores II
Transcrição da apresentação:

Programação Orientada a Objetos Interfaces

3.9 Interfaces Uma interface, ao contrário de uma classe abstrata, não possui nenhuma implementação, todos os métodos são abstratos. Mesmo que o programador omita o modificador abstract, os métodos serão considerados abstratos por default. Todos os métodos de uma interface são públicos, mesmo que o modificador public seja omitido. Declarar um método de uma interface como private ou protected gera erro em tempo de compilação. Além disso, como uma interface é apenas uma especificação de uma classe e não uma implementação, os métodos não podem ser final ou static. Alan Santos

3.9 Interfaces Todas as variáveis declaradas em uma interface são constantes, mesmo que não possuam os modificadores static final. Além disso, como elas são constantes, elas devem ser inicializadas. Desta maneira, você pode usar uma interface para compartilhar constantes entre várias classes. Essa utilização da interface poderia ser comparada como usar um arquivo de cabeçalho com um grande número de constantes em C. Alan Santos

3.9 Interfaces A declaração de uma interface é muito semelhante a uma classe, com a diferença de que as palavras abstract class são substituídas pela palavra interface: interface MinhaInterface { int getSize ( ); void setSize (int param); } Não é possível criar uma instância a partir de uma interface. Primeiramente, a interface precisa ser implementada. Alan Santos

3.9 Interfaces Definimos que uma classe implementa uma interface através da palavra implements: class MinhaClasse implements MinhaInterface { int size; public int getSize ( ) { return size; } public void setSize (int tam) { size = tam; Alan Santos

3.9 Interfaces Uma classe pode ser subclasse (extends) apenas de uma classe, mas pode implementar (implements) várias interfaces. Na declaração de uma classe que implementa várias interfaces, os nomes das interfaces devem estar separados por vírgula (,). Além disso, uma classe pode derivar uma única superclasse e implementar várias interfaces. class MinhaClasse extends MinhaSuperclasse implements MinhaInterface1, MinhaInterface 2 { Alan Santos

3.9.1 Utilizando as Interfaces As interfaces são bastante usadas na amarração dinâmica de métodos (dynamic binding). Para que o interpretador possa decidir qual classe ele chamará em tempo de execução, todas as classes devem possuir o método para que não seja gerado nenhum erro em tempo de compilação. Na verdade, a nossa classe abstrata Poligono poderia ser uma interface. Alan Santos

3.9.1 Utilizando as Interfaces Temos que tomar o cuidado, porém, para que nenhum método seja definido em uma interface. Para que a classe abstrata Poligono pudesse ser uma interface teríamos que retirar a implementação do método getType () e a variável cor. Além disso, como em Java não existe conceitualmente a herança múltipla, uma classe pode ser subclasse (extends) apenas de uma única classe. Nas situações em que é útil herança múltipla, são usadas interfaces. Alan Santos