AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos
|
|
- Sérgio Bonilha Ramires
- 7 Há anos
- Visualizações:
Transcrição
1 Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos
2 Tema Polimorfismo de: coerção, overloading, inclusão e paramétrico Objetivos Entender o que é e para que serve o polimorfismo; Compreender os tipos de polimorfismo e suas aplicações; Compreender o que é amarração estática e dinâmica. Prof. Dr. Fernando Henrique Campos
3 Abstração Encapsulamento Herança Polimorfismo Pilares Orientação a Objetos Aula 8 Uma linguagem é caracterizada como Orientada a Objetos quando atende aos quatros seguintes tópicos: Orientação a Objetos
4 Polimorfismo O que é? O termo polimorfismo é originário do grego e significa muitas formas. Poli = Muitas Morphos = Formas Aula 8
5 Polimorfismo O que é polimorfismo? Aula 8 Capacidade de uma referência de classe de se associar a instâncias de diferentes classes em tempo de execução. Capacidade de um método de uma classe poder se adaptar a cada objeto derivado dela É uma das principais habilidades da orientação a objetos que consiste na operações se adequarem automaticamente aos objetos aos quais estão sendo aplicadas.
6 Polimorfismo Exemplo Pessoa sexo: char idade: int peso: double andar( ) falar ( ) Bebe Crianca Adulto Idoso andar( ) falar ( ) andar( ) falar ( ) andar( ) falar ( ) andar( ) falar ( )
7 Polimorfismo Exemplo Aula 8 imprimir( ) Idéia chave: Cada objeto sabe agir corretamente em resposta a mesma chamada de método!!
8 Polimorfismo Vantagens do polimorfismo Aula 8 Projeto e implementação de sistemas que são facilmente extensíveis; Novas classes podem ser adicionadas a partes gerais do programa com pouca ou nenhuma modificação; Através da utilização do polimorfismo é possível trazer clareza ao código, diminuir linhas do mesmo e ainda é possível inserir aplicações flexíveis; Para utilizar o polimorfismo, os objetos devem executar as mesmas ações (métodos), mesmo que com comportamentos diferentes.
9 Polimorfismo Tipos de Polimorfismo Polimorfismo Universal Ad-Hoc Paramétrico Inclusão Overloading Coerção
10 Polimorfismo Tipos de Polimorfismo Polimorfismo Universal Ad-Hoc Paramétrico Inclusão Overloading Coerção
11 Polimorfismo Ad-Hoc Aula 8 É o polimorfismo que ocorre em tempo de compilação; É implementado quando se deseja definir uma coisa específica; Diferente do universal, não pode ser usado em todo o lugar, logo sabemos quantas vezes ele será aplicado.
12 Polimorfismo Tipos de Polimorfismo Polimorfismo Universal Ad-Hoc Paramétrico Inclusão Overloading Coerção
13 Tipos de Polimorfismo Coerção Aula 8 A linguagem de programação tem um mapeamento interno entre tipos Exemplo: Se o operador + é definido para somar dois número do tipo real e um inteiro é passado como parâmetro então o inteiro é coargido para real.
14 Tipos de Polimorfismo Coerção Exemplo
15 Prof. Dr. Fernando Henrique Campos Aula 8
16 Polimorfismo Tipos de Polimorfismo Polimorfismo Universal Ad-Hoc Paramétrico Inclusão Overloading Coerção
17 Tipos de Polimorfismo Aula 8 Overloading (Sobrecarga de métodos) A permite que um nome de função seja usado mais de uma vez com diferentes assinaturas (tipos de parâmetros); Nesse caso, compilador automaticamente chama a função correta que deve ser utilizada. O que é a assinatura de um método??
18 Assinaturas Assinatura do método Aula 8 Refere-se a quantidade, tipos e ordem dos argumentos de um método Dessa forma podem existir métodos com o mesmo nome mas assinaturas diferentes Se a quantidade de argumentos for diferente as assinaturas são diferentes Se os tipos dos argumentos são diferentes as assinaturas são diferentes Se a ordem dos tipos dos argumentos forem diferentes as assinaturas são diferentes
19 Assinatura do métodos Exemplo calcular ( ) calcular (int x) calcular (double x) calcular (int x, double y) calcular (double x, int y) calcular (double x, int y, double z)
20 Tipos de Polimorfismo Overloading (Sobrecarga de métodos) Exemplo Aula 8
21 Prof. Dr. Fernando Henrique Campos Aula 8
22 Sobrecarga de métodos construtores Overloading (Sobrecarga de métodos) O método construtor, também é um método, dessa forma é possível definir mais do que um método construtor seguindo as mesmas regras de sobrecarga de métodos. A partir do momento em que é definido um método construtor diferente do Default, o compilador não aceitará mais o construtor Default.
23 Overloading (Sobrecarga de métodos) Sobrecarga de métodos construtores Exemplo Aula 8 public class Pessoa { public Pessoa ( ) { //método construtor default } }
24 Overloading (Sobrecarga de métodos) Sobrecarga de métodos construtores Exemplo public class Pessoa { public Pessoa ( ) { //método construtor } public Pessoa (String nome) { //método construtor } public Pessoa (String nome, int idade) { //método construtor } } Aula 8
25 Prof. Dr. Fernando Henrique Campos Aula 8
26 Polimorfismo Tipos de Polimorfismo Polimorfismo Universal Ad-Hoc Paramétrico Inclusão Overloading Coerção
27 Polimorfismo Universal Aula 8 É o polimorfismo que ocorre em tempo de execução; Pode ser aplicado em vários casos, logo não pode se saber quantas vezes ele será aplicado; Funcionada potencialmente em um conjunto infinito de tipos de modo disciplinado.
28 Polimorfismo Tipos de Polimorfismo Polimorfismo Universal Ad-Hoc Paramétrico Inclusão Overloading Coerção
29 Tipos de Polimorfismo Inclusão (Polimorfismo de herança, Overriding, Sobreposição ou reescrita de métodos) Estudo de caso Aula 8 Em uma empresa além de seu salário fixo todos os funcionários recebem uma bonificação padrão de 10% sobre o salário Para funções que requerem mais responsabilidade no entanto a bonificação sobre o salário é maior: Supervisor (20%), Gerente(30%) e Diretor (40%)
30 Overriding (Sobreposição ou reescrita de métodos) Estudo de caso Funcionario salario: double exibirsalario( ) adicionarbonificacao( ) Aula 8 Supervisor Gerente Diretor
31 Tipos de Polimorfismo Inclusão (Polimorfismo de herança, Overriding, Sobreposição ou reescrita de métodos) Também conhecido como polimorfismo de subclasse (ou subtipo); É o polimorfismo mais comum suportado pela maioria de linguagens de programação; Permite a redefinição de métodos de uma classe Filha; A redefinição de um método em subclasses herdeiras de uma classe base chama-se especialização.
32 Tipos de Polimorfismo Aula 8 Inclusão (Polimorfismo de herança, Overriding, Sobreposição ou reescrita de métodos) Sobreposição de métodos (override) em programação orientada a objetos, é um recurso da linguagem que permite que a subclasse, rescreva uma implementação especifica de um método que já esta previsto em uma superclasse; A implementação na subclasse sobrepõe a implementação na superclasse.
33 Tipos de Polimorfismo Inclusão (Polimorfismo de herança, Overriding, Sobreposição ou reescrita de métodos) Deve ser utilizado o mesmo nome e assinatura do método; É explicitado pela no Java é nada mais nada menos que um diretiva de compilação, ou seja, ela orienta o compilador para alocação de memória, indicando que logo a seguir tem um método que deverá ser sobrescrito; Orienta também o desenvolvedor de aquele método já foi escrito na superclasse.
34 Tipos de Polimorfismo Inclusão (Polimorfismo de herança, Overriding, Sobreposição ou reescrita de métodos) Exemplo Aula 8
35 Inclusão (Polimorfismo de herança, Overriding, Sobreposição ou reescrita de métodos) Exemplo Aula 8 Peca - valor: double mover( ) Cavalo Peao Rei mover( ) mover( ) mover( )
36 Inclusão (Polimorfismo de herança, Overriding, Sobreposição ou reescrita de métodos) Exemplo public class Peca { int valor; public void mover ( ) { } } public class Rei extends Peca public void mover ( ) { } } Aula 8
37 Sobreposição ou reescrita de métodos (override) Estudo de caso Funcionario salario: double exibirsalario( ) adicionarbonificacao( ) Aula 8 Supervisor Gerente Diretor adicionarbonificacao( ) adicionarbonificacao( ) adicionarbonificacao( )
38 Prof. Dr. Fernando Henrique Campos Aula 8
39 Polimorfismo Static binding X Dynamic ou late binding Estudo de caso
40 Polimorfismo Princípios do polimorfismo em herança Uma variável declarada em uma classe pode ser instanciada em qualquer subclasse. Exemplo Peca peca = new Cavalo(); Peca pedra = new Peao(); Peca Cavalo - tipo: String - valor: double mover( ) Peao mover( ) mover( )
41 Polimorfismo Princípios do polimorfismo em herança A decisão de quem chamar, depende do tipo de amarração (binding) Estática (Static) Dinâmica ou tardia (Dynamic or Late)
42 Polimorfismo Static binding X Dynamic ou late binding Amarração é a ligação da chamada de um método ao método; Amarração estática (static binding): define permanentemente o endereço do método durante a compilação; Amarração dinâmica ou tardia (dynamic or late binding): determina o endereço do método acionado no momento da execução.
43 Static binding Antigamente mover() mover() compilação 5027 call 5027 Amarração estática: decide a ligação entre chamada e execução na hora da compilação (na execução fica muito rápida)
44 Dynamic ou late binding Linguagens Modernas Peca mover() mover( ) Peca p1 = new Peca() Peca p1 = new Cavalo()? Cavalo mover( ) p1.mover()? mover()
45 Polimorfismo Aula 8 Amarração estática (Static binding) Problema E se a instanciação ocorrer dentro de um if? Como o compilador vai saber quem foi instanciado? É impossível o compilador saber em tempo de compilação quem será instanciado; O compilador não tem com decidir em tempo de compilação quem será chamado; O C++ decide pelo tipo da variável declarada então amarra na hora da compilação ao mover() da Superclasse, não importa quem você instanciou, isso é uma amarração estática.
46 Polimorfismo Static binding X Dynamic ou late binding Amarração é a ligação da chamada de um método ao método; Amarração estática (static binding): define permanentemente o endereço do método durante a compilação; Amarração dinâmica ou tardia (dynamic or late binding): determina o endereço do método acionado no momento da execução.
47 Polimorfismo Amarração dinâmica ou tardia (Dynamic or late binding) Na hora da compilação ele não resolve; Ele cria uma tabela de opções chamada de Vtable; Decide na hora da execução de acordo com o objeto instanciado (indireto).
48 Dynamic ou late binding Linguagens Modernas Peca mover() mover( ) Peca p1 = new Peca() Peca p1 = new Cavalo() Cavalo p1.mover() mover() mover( )
49 Dynamic ou late binding Linguagens Modernas Peca mover() mover( ) Peca p1 = new Peca() Peca p1 = new Cavalo() Cavalo mover( ) p1.mover() VTable Peca Cavalo mover()
50 Polimorfismo Amarração dinâmica ou estática Qual dos dois é mais coerentes? O Java e todas linguagens modernas, python, javascript não tem static binding; Mas por que o c++ tem static binding? É mais rápido
51 Prof. Dr. Fernando Henrique Campos Aula 8
52 Sobrecarga de Objetos Sobrecarga de Objetos Estudo de caso
53 Sobrecarga de Objetos Estudo de caso Animal emitirsom() Galinha Vaca Burro emitirsom() emitirsom() emitirsom()
54 Sobrecarga de Objetos Sobrecarga de Objetos Estudo de caso Problema Ao ser clicado sobre um animal deverá ser obrigatoriamente instanciada uma classe para emitir o som dele; Sobrecarga de memória. EXISTE OUTRA MANEIRA DE RESOLVER ISSO?
55 Sobrecarga de Objetos Estudo de caso Animal SomAnimal emitirsom() Som(animal: Animal) Galinha Vaca Burro emitirsom() emitirsom() emitirsom()
56 Sobrecarga de Objetos Estudo de caso
57 Sobrecarga de Objetos Estudo de caso Animal SomAnimal emitirsom() Som(animal: Animal) Galinha Vaca Burro emitirsom() emitirsom() emitirsom()
58 Polimorfismo Tipos de Polimorfismo Polimorfismo Universal Ad-Hoc Paramétrico Inclusão Overloading Coerção
59 Tipos de Polimorfismo Paramétrico Aula 8 Uma única classe ou método pode ser utilizado com um conjunto de dados de diferentes tipos (sem qualquer relação entre si); São conhecidos como Classe ou métodos genéricos ou tipos genéricos. TEREMOS UMA AULA TRATANDO ESPECÍFICAMENTE DESTE TIPO DE POLIMORFISMO!
60 Revisão O que é quais são os tipos de polimorfismo? Quais as diferenças entre amarração estática e tardia? Prof. Dr. Fernando Henrique Campos
61 Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos OBRIGADO!!!! Prof. Dr. Fernando Henrique Campos
Programação Java (nível intermediário) 4. Polimorfismo
Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo
Leia maisLaboratório de programação II
Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando
Leia maisPolimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
Leia maisClasse Abstrata e Interface
Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public
Leia maisC O N S T R U T O R E S E S O B R E C A R G A P R O F. M E. H É L I O E S P E R I D I Ã O
C O N S T R U T O R E S E S O B R E C A R G A P R O F. M E. H É L I O E S P E R I D I Ã O NOME DE CLASSES Toda classe deve começar com uma letra maiúscula. Não pode conter letras não ASCII (caracteres
Leia maisProgramação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos
Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?
Leia maisUniversidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática
6 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... Diz-se que o nome de um método foi sobrecarregado ( overloaded
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
5 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... - Diz-se que o nome de um método foi sobrecarregado ( overloaded
Leia maisAvançando em Java com Polimorfismo. Prof.: Hugo Barros
Avançando em Java com Polimorfismo Prof.: Hugo Barros Tópicos da Aula Polimorfismo: Exemplos de polimorfismo Vantagens do polimorfismo Tipos de polimorfismo Métodos Abstratos Classes Abstratas Vinculação
Leia maisLinguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
Leia maisJava para Desktop. Programação Orientada à Objetos 2 JSE
Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona
Leia maisPCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica. Aula 6: Polimorfismo
PCS3111 Laboratório de Programação Orientada a Objetos para Engenharia Elétrica Aula 6: Polimorfismo Escola Politécnica da Universidade de São Paulo Conceito de polimorfismo 2 Polimorfismo A palavra vem
Leia maisConceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não
Leia maisSobreposição de Métodos
Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Programação Orientada a Objeto - Márcio Bueno 2 Contextualizando
Leia maisProgramação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Leia maisLinguagens de Programação Aula 12
Linguagens de Programação Aula 12 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução
Leia maisProgramação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Leia maisRecapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
Leia maisParadigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto
Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Leia maisHerança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos
e Ligação Dinâmica Programação Orientada a Objetos e Polimorfismo A é a contribuição original do paradigma de programação orientado a objetos Fundamentos chave do paradigma OO: Abstração de Dados A herança
Leia maisProgramação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Leia maisProgramação Orientada a Objetos. Prof. Diemesleno Souza Carvalho
Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Herança Programação Orientada
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisFundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus
Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis
Leia maisHerança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Possibilita o reuso de classes (código-fonte) Usar quando:
Leia maisLinguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos
Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse
Leia mais6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza
Desenvolvimento OO com Java 6 Polimorfismo Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito
Leia maisUnidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces
Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces 0 Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces Classes Abstratas À medida que você sobe na hierarquia de herança,
Leia maisUNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos
UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos Objetivo da Unidade*: Conhecer e aplicar os conceitos mais importantes associados a orientação a objetos. 5.1 Métodos e atributos estáticos Atributos
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Herança É um princípio da Programação Orientada a Objetos que permite que as classes compartilhem atributos e métodos
Leia mais4 Conceito de Herança
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 5 Conversão de Tipos Polimorfismo O Modificador final O Modificador
Leia maisProgramação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos
Leia maisHerança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
5 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... - Diz-se que o nome de um método foi sobrecarregado ( overloaded
Leia maisIntrodução ao Java. Prof. Herbert Rausch Fernandes
Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,
Leia maisLinguagem de Programação IV Introdução
Linguagem de Programação IV Introdução Prof. Alessandro Borges 2 Tópicos Orientação a objetos Classe Objeto Abstração Encapsulamento Herança Polimorfismo Plataforma Java 3 4 POO é um paradigma de programação
Leia maisCurso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br
Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar
Leia maisProgramação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos
Leia maisPolimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica
Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona alcides.pamplona@gmail.com Tópicos Ligação Dinamica Polimorfismo Verificação Dinâmica de Tipos 2 Introdução A vinculação ou ligação
Leia maisSumário. BD Orientado a Objetos
Sumário 1. BD Orientado a Objetos (BDOO) 2. BD Objeto-Relacional (BDOR) 3. BD Temporal (BDT) 4. BD Geográfico (BDG) 5. Tecnologia XML e BD com suporte à gerência de dados XML BD Orientado a Objetos BDOO:
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização
Leia maisProgramação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -
Programação Java - Herança e Polimorfismo - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes relacionadas entre
Leia maisOrientação a Objetos AULA 06
Orientação a Objetos AULA 06 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Herança ü Sobrescrita e reescrita de métodos ü Sobrecarga ü Efeitos de Herança ü Polimorfismo 2 Um dos principais recursos
Leia maisUniversidade Federal de Uberlândia
Universidade Federal de Uberlândia Faculdade de Computação Disciplina: POO1 Prof. Fabiano Dorça Classes e métodos abstratos É impossível instanciar objetos a partir de classes abstratas. Classes abstratas
Leia maisAula 10 Polimorfismo. Prof. Jefersson Alex dos Santos. Baseado em: http://homepages.dcc.ufmg.br/~fernando/classes/dcc052/ementa/lesson8/
Aula 10 Polimorfismo Prof. Jefersson Alex dos Santos Baseado em: http://homepages.dcc.ufmg.br/~fernando/classes/dcc052/ementa/lesson8/ Polimorfismo Definição: É a capacidade de um objeto em decidir que
Leia mais9 Classes Abstractas e Interfaces
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo
Leia maisINF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores
Leia maisRelacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos
Leia maisComo exemplo, vamos criar uma subclasse da classe Funcionario, vista nos capítulos anteriores.
HERANÇA E POLIMORFISMO Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 7 A herança é um importante recurso da programação orientada a objeto que
Leia maisPOO e C++: Herança e Polimorfismo
POO e C++: Herança e Polimorfismo Márcio Santi Luiz Fernando Martha Conceito de Herança em POO Recurso que torna o conceito de classe mais poderoso; Permite que se construa e estenda continuamente classes
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia mais2. Classes, Objectos, Herança e Polimorfismo
2. Classes, Objectos, Herança e Polimorfismo Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 2. Classes, Objectos, Herança e Polimorfismo Estruturas de Dados 1 / 1 Tipo Abstracto
Leia mais2. Classes, Objectos, Herança e Polimorfismo
2. Classes, Objectos, Herança e Polimorfismo Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 2. Classes, Objectos, Herança e Polimorfismo Estruturas de Dados 1 / 1 Tipo Abstracto
Leia maisProgramação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III
Programação Orientada a Objetos Alexandre César Muniz de Oliveira Métodos e Atributos Parte III Métodos [mod] tipo nome ([tipo arg]) [throws exc]{ [mod]: zero ou mais modificadores separados por espaços
Leia maisProf. A. G. Silva. 30 de outubro de Prof. A. G. Silva INE5603 Introdução à POO 30 de outubro de / 1
INE5603 Introdução à POO Prof. A. G. Silva 30 de outubro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 30 de outubro de 2017 1 / 1 Especialização de classes (I) (Cap. 6) Operações de abstração como
Leia maisConstrutores e Especificadores de Acesso
Construtores e Especificadores de Acesso Professora: Fátima L. S. Nunes 1 1 1 Orientação a Objetos Conceitos do Paradigma de Orientação a Objetos já vistos: Classes atributos e métodos Objetos instanciação
Leia maisLista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Leia maisUNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA
LPOO - Linguagem de Programação Orientada a Objetos Prof. Msc. Célio R. Castelano Página 1 de 7 Curso Ciência da Computação Professor Célio Ricardo Castelano UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO
Leia maisConceitos de Linguagens de Programação
Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Conceitos de Linguagens de Programação Aula 06 (rogerio@fct.unesp.br) Aula 6 Subprogramas
Leia maisPolimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo
PARTE II: Java e OO Interface Herança Herança e polimorfismo Classes e métodos abstratos : muitas formas de implementação de uma operação Permite esconder diferentes implementações atrás da mesma interface
Leia maisProgramação Orientada a Objetos. Prof. Diemesleno Souza Carvalho
Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Classes Abstratas Programação
Leia maisLinguagem de programação Programação Orientada a objetos
Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Programação Orientada a objetos Professor: Saulo Henrique Cabral Silva Paradigma da orientação a objetos Paradigma = forma de
Leia maisUniversidade Federal de Uberlândia
Universidade Federal de Uberlândia Programação Orientada a Objetos Herança, Generalização-Especialização Prof. Fabiano Azevedo Dorça Princípio da POO que permite a criação de novas classes a partir de
Leia maisOrientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental
Orientação a Objetos (OO) LPG II - Java Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos
Leia maisCURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Disciplina: Programação Orientada a Objetos
01.Em orientação a objetos, o conceito que determina que as classes devem cuidar dos seus atributos de forma exclusiva, expondo o mínimo possível de suas funcionalidades para outras classes, é a)herança
Leia maisHerança Tiago Eugenio de Melo
Herança Tiago Eugenio de Melo tiago@comunidadesol.org Herança Conceito: Herança é a capacidade de especializar tipos de objetos (classes), de forma que os tipos especializados contenham, além de características
Leia maisA B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas
Herança e Polimorfismo Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Revisando -Herança Estrutura Hierárquica e modular Projeção de classes genéricas que podem ser especializadas
Leia maisProfessor Leonardo Cabral da Rocha Soares Lattes:
Professor Leonardo Cabral da Rocha Soares Lattes: http://lattes.cnpq.br/3184602538494393 A Herança, em programação orientada a objetos (POO), é a possibilidade de escrever novas classes partindo de classes
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Leia maisNamespaces, Classes e Métodos.
. Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Linguagem
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato
Leia maisProgramação Orientada a Objetos JAVA - NETBEANS
Programação Orientada a Objetos JAVA - NETBEANS Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento
Leia maisLinguagem de Programação Orientada a Objeto Construtores e Sobrecarga
Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo
Leia maisLÓGICA DE PROGRAMAÇÃO (JAVA) POLIMORFISMO. Professor Carlos Muniz
LÓGICA DE PROGRAMAÇÃO (JAVA) Definição Agora que aprendemos os conceitos mais importantes e vimos o uso da Herança em Java, vamos estudar outra características marcante da programação Java e, de uma maneira
Leia maisPolimorfismo: aprendendo a prever o futuro. Polimorfismo: aprendendo a prever o futuro. Definições (2/5) Definições Tipos de Polimorfismo
Polimorfismo: aprendendo a prever o futuro BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Sumário Definições Tipos de Polimorfismo Dicas para o Polimorfismo Eficaz Armadilhas
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Faculdade de Computação Aula Revisão Marcelo Zanchetta do Nascimento Material elaborado pela Profa. Ana Carolina Lorena - UNIFESP Desenvolvimento de Software ANÁLISE IMPLEMENTAÇÃO
Leia maisC com introdução a OO
... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro
Leia maisIntrodução à Programação. Conceitos Básicos de Orientação a Objetos
Introdução à Programação Conceitos Básicos de Orientação a Objetos Tópicos da Aula Aprenderemos fundamentos do paradigma orientado a objetos, mas antes veremos o que é paradigma Conceito de paradigma Diferentes
Leia maisAula 9 Herança. Prof. Jefersson Alex dos Santos
Aula 9 Herança Prof. Jefersson Alex dos Santos Roteiro Introdução Conversão de tipo explícita (Cast) Acesso Protegido A classe Object A classe Class Reflexão Recomendações de Projeto Herança Técnica necessária
Leia maisCURSO TÉCNICO DE INFORMÁTICA Módulo C ORIENTAÇÃO À OBJETO. Conceitos
CURSO TÉCNICO DE INFORMÁTICA Módulo C ORIENTAÇÃO À OBJETO Conceitos O QUE É UM OBJETO? CLASSE OBJETO OBJETO OBJETO CLASSE OBJETO OBJETO OBJETO ATRIBUTOS MÉTODOS PÚBLICO PRIVADO PROTEGIDO ABSTRATO ESTÁTICO
Leia maisFundamentos de Programação
Fundamentos de Programação ET43G Aula 7 Prof. Daniel Cavalcanti Jeronymo Orientada a Objetos Polimorfismo. Polimorfismo estático e dinâmico. Métodos virtuais, interfaces. Universidade Tecnológica Federal
Leia maisOrientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental
Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios
Leia maisProgramação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
Leia maisUNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETRÔNICA (DAELN) 2 a Prova
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETRÔNICA (DAELN) Curso: Engenharia Eletrônica, Disciplina: Fundamentos de Programação II (IF62C), Turma: S Professores: Hermes Del
Leia maisIntrodução. Programação Orientada a Objetos (POO) João Paulo Q. dos Santos
Introdução Programação Orientada a Objetos (POO) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Avaliações Continuada: Resolução de Atividades Práticas em Sala; Resolução de Lista de Exercícios; Provas
Leia maisProgramação Orientada a Objetos. Polimorfismo
Programação Orientada a Objetos Polimorfismo Cristiano Lehrer, M.Sc. Introdução (1/3) Polimorfismo significa ter muitas formas. Em termos de programação, muitas formas significa que um único nome pode
Leia maisClasses, Métodos e Propriedades
Ambiente de Programação Visual Classes, Métodos e Propriedades Prof. Mauro Lopes 1-31 22 Objetivos Nesta aula iremos dar continuidade aos elementos de programação da Linguagem C#. Iremos apresentar de
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Herança e Polimorfismo Msc. Paulo de Tarso F. Júnior 1 Projeto Orientado a Objetos O que desejam? Produção de projetos conceitualmente simples o bastantes para serem entendidos
Leia maisProgramação em Linguagem C++
Programação em Linguagem C++ Igor Kondrasovas Especialista em Computação Aplicada UDESC Sócio e Desenvolvedor na Inovativa Tecnologia igor@inovativatec.com www.inovativatec.com Agenda Herança e Polimorfismo
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java
Leia maisFundamentos de Orientação à objetos
Fundamentos de Orientação à objetos Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho Objeto Um objeto, como um substantivo, pode ser uma pessoa, local ou
Leia mais