A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Rosemary Silveira Filgueiras Melo

Apresentações semelhantes


Apresentação em tema: "Rosemary Silveira Filgueiras Melo"— Transcrição da apresentação:

1 Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com
Linguagem Java Rosemary Silveira Filgueiras Melo Polimorfismo

2 Polimorfismo Polimorfismo (“muitas formas”) é uma das principais características das linguagens orientada a objetos. princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura) mas com comportamentos distintos. definido também como a criação de MÉTODOS com um mesmo nome, mas com códigos diferentes. Exemplo: a redefinição de um método para uma subclasse. O método da subclasse terá a mesma assinatura da superclasse mas implementação diferente.

3 Exemplo Um Analista "é um" funcionário funcionario.calcSalario()
gerente.calcSalario() secretaria.calcSalario() analista.calcSalario()

4 Polimorfismo Este conceito permite a solicitação de um serviço a um objeto, cuja execução vai depender do tipo de objeto instanciado. Exemplo: Suponha que existam três classes disponíveis numa biblioteca: Linha, Retângulo e Circulo. Todas elas possuem um serviço ou método chamado desenhar() com os mesmo parâmetros de entrada e saída. Como primeiro passo, devemos instanciar os objetos l, r e c das classes Linha, Retangulo e Circulo, respectivamente. Depois invocamos o método desenhar() desses objetos. Os resultados seriam uma linha, um retângulo e um círculo.

5 Polimorfismo public class CriaObjetoGeometrico
Instancia Objeto do tipo Linha l.Desenhar() Instancia Objeto do tipo Retângulo r.Desenhar() Instancia Objeto do tipo Circulo c.Desenhar() Objeto l (Linha) r (Retângulo) c (Circulo) public class CriaObjetoGeometrico { public static void main(String args[]) { Linha l = new Linha(11) ; Retangulo r= new Retangulo(6); Circulo c = new Circulo(9); l.Desenhar(); r.Desenhar(); c.Desenhar(); }

6 Exercício Crie as seguintes classes e seus respectivos atributos considerando o conceito de herança e polimorfismo: Funcionário: matrícula e nome; Aluno: matrícula, nome e quantidade de horas cursadas; Professor: código, nome e carga horária; Implemente estas classes utilizando o conceito de herança Implemente o método polimórfico Imprimir() em todas estas classes, em cada classe ele deve exibir seus atributos correspondentes. Este método deve retornar os atributos da classe em uma única String.

7 Exemplo public class ConcessionariaDeAutomoveis
{ public static void main(String args[]) { Automovel a1 = new Automovel("Fiat","bege", Automovel.movidoAAlcool); AutomovelBasico a2 = new AutomovelBasico("Corsa","cinza", Automovel.movidoAGasolina); imprime(a1); imprime(a2); } public static void imprime(Automovel a) { System.out.println(“Dados do automóvel escolhido : "); System.out.println(a.toString()); System.out.println("Valor : "+a.quantoCusta()); System.out.println(a.quantasPrestacoes()+" prestações de "+ (a.quantoCusta()/a.quantasPrestacoes())); O método imprime recebe um objeto da classe Automovel como parâmetro. Observe que nesse exemplo, chamamos o método passando a1 e a2, ou seja, objetos de classes diferentes mas da mesma hierarquia de classes, caracterizando dessa forma a utilização de polimorfismo.

8 Exercício Considere uma empresa que deseja fazer o cadastro de seus funcionários. Sabe-se que toda pessoa que de alguma forma se relaciona com a empresa deve registrar seu nome e rg. Os funcionários possuem também o cargo e o salário registrado. Construir uma estrutura de classes utilizando herança para o cenário acima e implementá-la em Java. Construir um método toString para retornar os dados da pessoa e do funcionário. Acrescentar ao modelo acima uma classe visitante, que herda de pessoa e possui também o telefone da pessoa. Implementar o método toString para esta nova classe. Construir uma classe Aplicação que possui um método imprime para imprimir os dados de uma pessoa, seja ela um funcionário ou visitante.


Carregar ppt "Rosemary Silveira Filgueiras Melo"

Apresentações semelhantes


Anúncios Google