Linguagem de Programação II

Slides:



Advertisements
Apresentações semelhantes
Princípios da Orientação a Objetos e a Linguagem UML
Advertisements

Paulo Marques Hernâni Pedroso
PHPOO Erick Souza. Conceitos de Orientação a Objetos Objeto é um conceito ou item(concreto ou abstrato). Software orientado a objetos Uma classe é uma.
Java – Classes Abstratas
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS MÉTODOS – UMA VISÃO MAIS APROFUNDADA Prof. Thiago Pereira Rique
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos: Encapsulamento e Classificação
Modelagem Orientada a Objetos
1 Orientação a Objetos: Herança Alcides Calsavara.
Orientação a Objetos: Encapsulamento e Classificação
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.
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Refatorações Experiência é aquela coisa maravilhosa que permite que você reconheça um erro tão logo o cometa novamente F.P. Jones.
Polimorfismo e Classes Abstratas Profa
Linguagem de Programação II
Linguagem de Programação II
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Interfaces em Java1 Interfaces Prof. Ricardo Linden.
Programação orientada a objetos com Java
UMA ABORDAGEM SOBRE ORIENTAÇÃO A OBJETOS!
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Classes Abstractas.
Herança e Polimorfismo
Classes e objetos P. O. O. Prof. Grace.
Estrutura de Dados em Java
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
Linguagem técnica de programação I Java – REVISÃO
Revisão POO Profa. Cintia Carvalho Oliveira
Polimorfismo em C#.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Programação Orientada a Objetos com Java
Sobrecarga e Encapsulamento
Programação Orientada à Objetos
Oberdan B. Ferreira Polimorfismo Oberdan B. Ferreira
Atributos, Encapsulamento e Interface em Java
Aula 3 CoL, atividade Polimorfismo (late binding) Modificador final Modificador abstract Interfaces Herança múltipla Atribuição, Construtores, Destrutores,
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Erick Luis Moraes de Sousa
Linguagens de Programação II
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng. da Computação IF62C - Fundamentos de Programação Semana 12 – Overloading X Overriding Prof.a.
Programação Orientada à Objetos
Herança em POO Importante:
© Ricardo Pereira e Silva
Aula prática 14 Orientação a Objetos – C++ Parte 2
Programação Orientada a Objetos - Java
Análise Orientado aos Objetos Prof. Wolley W. Silva
Programação Orientada à Objetos
Interfaces e classes abstratas. Conceitos de Orientação a Objeto.
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Classes Abstratas P. O. O. Prof. Ângela e Grace.
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
Prof.: Bruno Rafael de Oliveira Rodrigues.  Existe para poder servir de molde para outras classes.  Deve ser declarada tal usando-se a palavra chave.
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
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
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.
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.
Polimorfismo - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour ▐ Polimorfismo ▐ Exemplo ▐ Classes Abstratas.
20/04/2017 Orientação a Objetos 1 1.
Módulo II Capítulo 1: Orientação a Objetos
Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui.
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Herança em Java Curso: Informática Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
Transcrição da apresentação:

Linguagem de Programação II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1

Sumário Polimorfismo Exercícios; Prof.: Sergio Pacheco 2 2

Polimorfismo A palavra polimorfismo significa “assumir várias Formas”. O polimorfismo permite escrever programas que processam objetos que compartilham a mesma superclasse em uma hierarquia de classes como se todas fossem objetos da superclasse; Prof.: Sergio Pacheco 3 3

Polimorfismo É uma das características mais potentes da orientação a objetos. Polimorfismo é o princípio pelo quais duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura), mas comportamentos distintos, especializados para cada classe derivada. O polimorfismo, na OOP, é a habilidade que os objetos, distintos, mas relacionados, possuem, de receber um estimulo (um método, ou comando) e agir (responder) de maneira diferente a esse estímulo. Por exemplo, podemos ter uma classe, “abstract”, de mamíferos com o método comunicar. Esse método pode ser implementado de formas diferentes para subclasses herdades de mamíferos, como: Humanos, Cães e Gatos. Prof.: Sergio Pacheco 4 4

Polimorfismo Para que o polimorfismo possa ser utilizado, é necessário que os métodos que estejam sendo definidos nas classes derivadas tenham exatamente a mesma assinatura do método definido na superclasse; nesse caso, está sendo utilizado o mecanismo de redefinição de métodos (overriding). Esse mecanismo de redefinição é muito diferente do mecanismo de sobrecarga de métodos,onde as listas de argumentos são diferentes. Prof.: Sergio Pacheco 5 5

Polimorfismo Prof.: Sergio Pacheco 6 6

Classes Abstratas Uma classe abstrata normalmente contém um ou mais métodos abstratos; Um método abstrato é um com a palavra-chave abstract na sua declaração, como em: Métodos abstratos não fornecem implementações. public abstract float calcularArea(); Uma classe que contém métodos abstratos deve ser declarada como classe abstrata mesmo que contenha métodos concretos (não abstratos); Prof.: Sergio Pacheco 7 7

Polimorfismo - Métodos Abstratos Uso de métodos abstratos: Apesar de métodos da classe Veículo terem sido definidos, estes nunca são invocados nesse exemplo. (Se fossem, algo estaria errado.) Isso ilustra uma situação onde métodos abstratos poderiam ser utilizados, pois a definição do corpo desses métodos é de fato irrelevante. Ainda mais, se uma classe como essa só contém métodos abstratos, ela poderia ser implementada como uma interface Java. Prof.: Sergio Pacheco 8 8

Polimorfismo Prof.: Sergio Pacheco 9 9

Polimorfismo Prof.: Sergio Pacheco 10 10

Polimorfismo Prof.: Sergio Pacheco 11 11

Sobrecarga de métodos Quando sobrecarregamos um método, devemos manter a semântica: Não é um bom projeto termos um método sobrecarregado cujas versões fazem coisas completamente diferentes. A classe Math possui vários métodos sobrecarregados. Note que a semântica das várias versões são compatíveis. int a = Math.abs(-10); // a = 10; double b = Math.abs(-2.3); // b = 2.3; Prof.: Sergio Pacheco 12 12

Sobrecarga de métodos Sobrecarregar (overloading) um método significa definir vários métodos com o mesmo nome, mas com diferentes parâmetros. Prof.: Sergio Pacheco 13 13

Polimorfismo - Exercício Implemente, em Java, uma classe abstrata de nome Quadrilatero onde são declarados dois métodos abstratos: float calcularArea(); float calcularPerimetro(); Crie, como subclasse de Quadrilatero, uma classe de nome Retangulo e Quadrado cujas instâncias são caracterizadas pelos atributos lado e altura ambos do tipo float. Implemente nas classes a cima os métodos herdados de Quadrilatero e outros que ache necessários. Prof.: Sergio Pacheco 14 14

Bom final de semana e até semana que vem !!! Deus abençoe a todos. ( Prof.: Sergio Pacheco 15 15