Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DE RONDÔNIA – UNIR NÚCLEO DE TECNOLOGIA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SAMIH SANTOS DE OLIVEIRA RELATÓRIO: Polimorfismo em JAVA Porto Velho – RO 2023 RELATÓRIO: Polimorfismo em JAVA Relatório: Polimorfismo em Java da disciplina de Programação orientada a objetos, do discente da Universidade Federal de Rondônia UNIR, como requisito parcial para obtenção de nota do curso de Ciência da computação. Docente: Jonathan da Silva Ramos Porto Velho – RO 2023 RESUMO Este relatório tem como objetivo explicar e demonstrar o conceito, aplicação e benefícios da técnica de Polimorfismo, em Java 1. Introdução O polimorfismo é um conceito chave da Programação orientada a objetos, permitindo que diversas classes com propriedades semelhantes possam ser tratadas de modo uniforme. 2.Conceito O polimorfismo consiste em definir uma mesma função para classes diferentes, e modificando o seu funcionamento entre as classes, por exemplo: Suponha que existe uma classe Animal, e ela possua o método fazerBarulho(), Agora definimos a existência de duas classes herdeiras de Animal, as classes Cachorro e Gato, ambas vão ter o método fazerBarulho(), mas como o comportamento das duas é diferente, a implementação na classe Cachorro deve exibir “Au Au”, enquanto a classe Gato deve exibir “Miau”, assim, mesmo os objetos sendo de classes diferentes, podemos usar o mesmo método em ambas. 3. Aplicação Definição da classe Animal: public class Animal { private String nome; private int idade; private String cor; private String raca; public Animal(){ } public Animal(String nome, int idade, String cor, String raca) { this.setNome(nome); this.setIdade(idade); this.setCor(cor); this.setRaca(raca); } public void fazerBarulho() { System.out.println("Barulho"); } public String getNome() { return nome; } public int getIdade() { return idade; } public String getCor() { return cor; } public String getraca() { return raca; } public void setNome(String nome) { this.nome = nome; } public void setIdade(int idade) { this.idade = idade; } public void setCor(String cor) { this.cor = cor; } public void setRaca(String raca) { this.raca = raca; } } Definição da classe Cachorro: public class Cachorro extends Animal { public Cachorro(){ } public Cachorro(String nome, int idade, String cor, String raca){ super(nome,idade,cor,raca); } @Override public void fazerBarulho() { System.out.println("Au au!"); } } Definição da classe Gato: public class Gato extends Animal { public Gato(){ } public Gato(String nome, int idade, String cor, String raca){ super(nome,idade,cor,raca); } @Override public void fazerBarulho() { System.out.println("Miau!"); } } Note que ambas classes herdeiras tiveram o método fazerBarulho() reimplementado, utilizando a notação @Override, que serve para reescrever métodos que uma classe já possui. Agora, instanciando um objeto de cada classe e chamando o mesmo método fazerBarulho(), para ambas: public class Main { public static void main(String[] args) { Gato gato =new Gato("Garfield",5,"Laranja","persa"); Cachorro cachorro = new Cachorro("Snoopy",5,"branco","beagle"); cachorro.fazerBarulho(); gato.fazerBarulho(); } } Saída: Mesmo as funções tendo seus métodos inicialmente implementados como um método genérico, reescrevemos e fizemos uma implementação diferente para cada, ao chamar o mesmo método nos dois objetos na classe Main, ambos tiveram comportamentos diferentes. 4.Conclusão Ao utilizar o polimorfismo, podemos notar que ele contribui para um código mais flexível, já que podemos tratar as classes Gato e Cachorro como se fossem uma classe genérica, um código com maior nível de abstração, já que não precisamos ter tanta preocupação com o tipo dos objetos, e um código fácil de manter, já que podemos modificar a funcionalidade dos métodos dentro da classe específica. 5.Referências bibliográficas HTTPS://WWW.FACEBOOK.COM/DEVMEDIA.COM.BR. Uso de Polimorfismo em Java. Disponível em: <https://www.devmedia.com.br/uso-de- polimorfismo-em-java/26140>. Exemplos práticos de Polimorfismo. Disponível em: <https://www.guj.com.br/t/exemplos-praticos-de-polimorfismo/65598>. Programação Orientada a Objetos. [s.l: s.n.]. Disponível em: <https://docente.ifrn.edu.br/diegooliveira/disciplinas/programacao-oo/aula- 11-polimorfismo>. Acesso em: 4 ago. 2023.
Compartilhar