Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.

Slides:



Advertisements
Apresentações semelhantes
JAVA Orientação a Objetos
Advertisements

Concepção da linguagem, ou seja, porque e como ela é como é?
Programação Orientada a Objetos*
Avaliador de Expressões
Java Básico Orientação a Objeto Marco Antonio Software Architect Fev/2008.
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTERFACES Prof. Thiago Pereira Rique
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS CLASSES ABSTRATAS
H ERANÇA E P OLIMORFISMO Prof. Thiago Pereira Rique
Polimorfismo e Classes Abstratas Profa
Wagner Santos C. de Jesus
Capítulo 8 Construtores. 2 Capítulo 8 – Construtores Construtores Método Construtor Múltiplos métodos construtores Array de objetos.
Capítulo 9 Herança 1.
UMA ABORDAGEM SOBRE ORIENTAÇÃO A OBJETOS!
Métodos Programação II
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Elementos de Classe, class wrappers.
Classes e objetos P. O. O. Prof. Grace.
Linguagem técnica de programação I Java – REVISÃO
Programação I Caderno de Exercícios Nome.
JAVA: Conceitos Iniciais
Polimorfismo em C#.
Programação Orientada a Objetos com Java
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
JAVA Linguagem Ambiente de Desenvolvimento
Tópicos avançados em internet A
Aula 3 CoL, atividade Polimorfismo (late binding) Modificador final Modificador abstract Interfaces Herança múltipla Atribuição, Construtores, Destrutores,
Programação I Aula 2 (Métodos)
Linguagem de Programação JAVA
Professora Lucélia Oliveira
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
POO - I Prof.: Jean Carlo Mendes
Definição Classe Objeto Construtor de Classes Manipulando o objeto Namespace Utilização do namespace Herança Polimorfismo Encapsulamento Propriedades.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Membro Static.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Como criar uma Classe e.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Programação Orientada a Objetos - Java
POO II JEAN CARLO MENDES
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Programação Orientada a Objetos - Java
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
Programação Orientada à Objetos
Curso de Aprendizado Industrial Desenvolvedor WEB
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Aula Prática 4 Monitoria IP/CC (~if669).
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Polimorfismo.
Prof.: Bruno Rafael de Oliveira Rodrigues.  Existe para poder servir de molde para outras classes.  Deve ser declarada tal usando-se a palavra chave.
Linguagem de Programação JAVA
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Programação I Aula 11 (Arrays de Objetos) Prof. Gilberto Irajá Müller Última atualização 27/5/2009.
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
2 – Revisão de Programação Orientada a Objetos
2 – Revisão de Programação Orientada a Objetos
Laboratório de Programação II Método main Dados e Métodos de Classes.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Programação para Web I AULA 2 BANCO DE DADOS.
Programação PHP Gustavo Eduardo Terra.
Padrões de Projeto 2 – Revisão de Programação Orientada a Objetos.
Jean Carlo mendes
Minicurso Java Básico Ruddá Beltrão | Cristian Costa.
Herança em Java Curso: Informática Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
Jean Carlo mendes
Transcrição da apresentação:

Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes

Polimorfismo O polimorfismo é a capacidade de um objeto ser referenciado de várias formas. O objeto não muda. Ele nasce e morre pertencendo a uma mesma classe, porém, podemos referenciá-lo de formas diferentes

Polimorfismo Relembrando: Uma variável do tipo Funcionário não guarda um objeto Funcionário, mas sim uma referência a ele!

Polimorfismo Como o gerente é um funcionário, podemos nos referir a ele como sendo um Funcionário. Em uma porta do banco onde vemos “Permita a entrada somente de funcionários”. Um gerente pode entrar?

Polimorfismo.... Gerente g = new Gerente(); Funcionario f= new Funcionario (); f.setSalario (5000);....

Polimorfismo E se agora eu fizer: f.getBonificacao (); Qual método de bonificação iremos chamar? O do funcionário, que retorna 10% (500) do salário? ou o do gerente que retorna 15% (750) ?

Polimorfismo No Java a chamada do método vai ser decidida sempre em tempo de execução O Java vai procurar na memória o objeto na memória e então decidir qual método deve ser chamado, sempre relacionando com a classe com o qual ele foi criado (e não com a classe que estamos usando para referencia-lo no momento) No nosso exemplo o retorno será 750 (método do gerente)

Polimorfismo Qual a vantagem disto? Por que iriamos querer criar um Gerente e referencia-lo como Funcionário? Isto é importante porque desta forma podemos criar um método capaz de receber objetos de qualquer classe da hierarquia.

Polimorfismo Vamos a um exemplo. Na nossa hierarquia de classes temos: Funcionário: Classe mãe; Bonus de 10% Gerente: Filha de funcionário; Bônus de 15% Diretor: Filha de funcionário; Bônus de 20%

Polimorfismo O nosso sistema precisa calcular o valor total pago em bônus de todos os funcionários da empresa Como construir tal método, uma vez que cada tipo de funcionário recebe quantias distintas?

Polimorfismo

ControleDeBonificacoes controle = new ControleDeBonificacoes(); Gerente g1 = new Gerente (); g1.setSalario (5000); controle.registra(g1); Funcionario f1 = new Funcionario(); f1.setSalario(1000); controle.registra(f1); Secretaria s1 = new Secretaria(); s1.setSalario (800); controle.registra(s1); System.out.println(“Total de bônus = ” + controle.getTotalDeBonificacoes());

Polimorfismo Se agora precisarmos criar um novo tipo de Funcionario chamado Presidente, que recebe 50% de bônus, precisaremos alterar qual classe para que o total de bônus seja calculado corretamente? Exercício: Implemente as classes do nosso exemplo: Incluindo a classe de Controle de Bonificações Implemente uma classe de teste (nela, crie Funcionário, Gerente, Secretaria, Diretor e Presidente) Execute e veja o resultado