Sobreposição de Métodos

Documentos relacionados
Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Herança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Conceitos Básicos da Programação OO

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos

Programação Java (nível intermediário) 4. Polimorfismo

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Laboratório de programação II

2. Classes, Objectos, Herança e Polimorfismo

2. Classes, Objectos, Herança e Polimorfismo

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

Programação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -

COMPORTAMENTOS - Observações

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho

Classes e Objetos. Sintaxe de classe em Java

Sumário. BD Orientado a Objetos

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Linguagem de Programação III

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

9 Classes Abstractas e Interfaces

PCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica. Aula 6: Polimorfismo

Herança (parte 2) Redefinição de métodos AULA 11

Programação Orientada a Objetos Classes Abstratas. Sérgio Soares

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Tratamento de Exceções

Python Orientação a Objetos. Introdução à Programação SI2

Conceitos de Programação Orientada a Objetos

Sintaxe Básica de Java Parte 2

Programação Orientada a Objetos

String. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Unidade: sobrecarga, construtores e herança

Herança Tiago Eugenio de Melo

2ª Lista de Exercícios Orientação a Objetos

Programação Orientada a Objetos JAVA - NETBEANS

Atributos e Métodos Estáticos

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

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

Universidade Federal de Uberlândia

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objetos para Redes de Computadores

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Orientaçã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

ACH2002. Orientação a Objetos

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Programação com Objectos 1º Teste Tipo 1º Semestre (90 minutos)

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho

Entender o princípio do Polimorfismo; Conhecer Polimorfismo de Sobreposição e de Inclusão;

Aula 9 POO 1 Polimorfismo. Profa. Elaine Faria UFU

Prof. A. G. Silva. 30 de outubro de Prof. A. G. Silva INE5603 Introdução à POO 30 de outubro de / 1

Polimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica

Interfaces e Classes Abstratas

Linguagens de Programação

Interfaces POO. Prof. Marcio Delamaro

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Disciplina: Programação Orientada a Objetos

Linguagem de Programação III

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Classe Abstrata e Interface

Rafael B. Pereira (

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Computação II Orientação a Objetos

POO e C++: Herança e Polimorfismo

Auto-Referenciamento e Herança

Programação Java. - Classes, Objetos, Atributos e Métodos - Marco Fagundes Marco Fagundes -

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

Java para Desktop. Programação Orientada à Objetos 2 JSE

Avançando em Java com Polimorfismo. Prof.: Hugo Barros

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS

Valor: 0,0 CORREÇÃO. 1. Construa um programa que leia a sua idade, o seu nome e depois imprima na tela.

Introdução ao Java. Prof. Herbert Rausch Fernandes

E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho

AULA 16 HERANÇA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

Java e Orientação a Objetos. Prof. Sérgio Ricardo

Aula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

Computação II Orientação a Objetos

Programação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM

Orientação a objetos Disciplina: Linguagens de Programação. Prof. Alexandre Cassimiro Andreani

Computação II Orientação a Objetos

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Programação Orientada a Objeto (POO)

Universidade Federal de Uberlândia

Programação em Linguagem C++

Linguagem de Programação II Herança

O que estas classes possuem em comum? 1) 2) 3)

Linguagem de Programação III

Orientação a Objetos Interfaces

Programação Orientada a Objetos

Programação Orientada a Objetos

LÓGICA DE PROGRAMAÇÃO (JAVA) CLASSES E OBJETOS. Professor Carlos Muniz

Java e Orientação a Objetos (aula 2) Prof. Sérgio Ricardo

Transcrição:

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 Vamos supor agora que o método aumentasalario( ) da classe Funcionario no exercício anterior possui uma implementação, ou seja, o método não é mais abstrato. E que as subclasses Gerente e Programador mantêm suas implementações para o método aumentasalario( ). Programação Orientada a Objeto - Márcio Bueno 3

Definição Quando uma subclasse declara um método com o mesmo nome, mesmo tipo de retorno e mesma lista de parâmetros de um método da sua superclasse, dizemos que ocorreu uma sobreposição de método ou redefinição de método (overriding). Um método redefinido em uma subclasse oculta o método da classe ancestral a partir da subclasse. Métodos privados não podem ser sobrepostos. Programação Orientada a Objeto - Márcio Bueno 4

Observação O nome e a lista de parâmetros de um método é chamado de assinatura do método. Contudo, o tipo de retorno não faz parte da assinatura. Em Java, ter métodos em uma superclasse e uma subclasse com a mesma assinatura, mas tipos diferentes de retorno vai resultar em um erro em tempo de compilação. Programação Orientada a Objeto - Márcio Bueno 5

Sobreposição X Sobrecarga Sobrecarga (overloading) significa que pode-se ter métodos de mesmo nome, mas que difiram na lista de parâmetros. Ou seja, métodos sobrecarregados não possuem mesma assinatura. Programação Orientada a Objeto - Márcio Bueno 6

Exercício 1: Programação Orientada a Objeto - Márcio Bueno 7

Exercício 1 - Considerações: A classe Funcionario é abstrata. As classes Gerente e Programador são concretas. Uma chamada ao aumentasalario( ) do Funcionario aumenta seu salário em 5%. Uma chamada ao aumentasalario( ) do Gerente aumenta seu salário em 10%. Uma chamada ao aumentasalario( ) do Programador aumenta seu salário em 20%. Programação Orientada a Objeto - Márcio Bueno 8

Exercício 1 - Aplicação: Implemente uma aplicação que declara três variáveis do tipo Funcionario e cria três objetos um do tipo Gerente, outro do tipo Programador e o terceiro do tipo AnalistaDeSistemas. Em seguida, o programa deve oferecer um menu para o usuário com as seguintes opções: Imprimir dados O usuário deverá informar se ele deseja imprimir os dados do Gerente, do Programador ou do AnalistaDeSistemas. Aumentar salário O usuário deverá informar se ele deseja aumentar o salário do Gerente, do Programador ou do AnalistaDeSistemas. Programação Orientada a Objeto - Márcio Bueno 9

Observação A ligação entre a assinatura de um método e o método por ela designado efetua-se em tempo de execução. Este mecanismo é conhecido como ligação dinâmica - dynamic binding. Programação Orientada a Objeto - Márcio Bueno 10

Exercício 2: ClienteFidelizacaoEspecial 11

Exercício 2: Acrescentar a classe ClienteFidelizacao o método adicionabonus que recebe o valor da compra realizada pelo cliente e soma ao bônus do cliente 5% do valor desta compra. Suponha que agora, no sistema, existe mais um tipo de Cliente, o ClienteFidelizacaoEspecial, que apresenta as mesmas características do ClienteFidelizacao porém, ganha bônus de 10% em cima das compras realizadas. Programação Orientada a Objeto - Márcio Bueno 12

Exercício 3: Implemente uma classe Conta que contenha os atributos nome do cliente, número da conta, saldo e limite. Estes valores deverão ser informados no construtor, sendo que o limite não poderá ser maior que o valor do salário mensal do cliente. Implemente também um método depósito e outro método saque. O método saque retorna um booleano indicando se o saque pôde ser efetuado ou não. Programação Orientada a Objeto - Márcio Bueno 13

Exercício 3: Implemente uma classe ContaEspecial que funciona da mesma forma que a classe Conta, mas que aceita um limite de até 3 vezes o valor do salário do cliente. Programação Orientada a Objeto - Márcio Bueno 14