Curso POO Java #12b - Polimorfismo em Java (Parte 1)

123.73k views2802 WordsCopy TextShare
Curso em Vídeo
Nessa aula de POO, vamos aprender como fazer Polimorfismo de Sobreposição (Override) em Java. Gosto...
Video Transcript:
olá pequeno gafanhoto seja bem vindo a mais uma aula prática de java do seu curso de programação orientada a objetos meu nome é gustavo guanabara eu sou professor e agora nós chegamos à aula 12 b se você assistiu a 12a você sabe que a gente vai falar sobre polimorfismo só que agora na linguagem java durante a aula 12a a gente falou sobre muitos conceitos de polimorfismo nós vimos que olhe é muitos e mofo é formas então polimorfismos significa muitas formas e eu citei aqui pra vocês que existem dois tipos de polimorfismos a gente vai tratar
dois tipos de polimorfismo o polimorfismo de sobreposição e o polimorfismo de sobrecarga durante a nossa aula 12a a gente viu o polimorfismo de sobreposição e agora nós vamos colocar em prática um exemplo que a gente criou durante a nossa aula conceitual foi esse que tá aqui embaixo a gente tem a classe animal ea gente tem subclasse animal que a gente fez foi criar mamífero réptil peixe e av animal ele tem os atributos peso idade e membros têm três metros abstratos que vão ser substituídos com sobrepostos nos nas suas classes filhas das subclasses mamífero também tem
um atributo a mais réptil também tem um atributo mais peixe além do tributo tem um método a marca voltar a bolha e ave tem um atributo cor da pena que vai ser adicionado e um método de fazer nenhum então esse daqui foi o primeiro passo que a gente teve que seguir durante a nossa aula conceitual que nós vamos fazer agora é colocar esse pedaço desse código em prática diretamente no já o que eu vou fazer aqui é deixar o código do lado como a gente sempre faz vou abrir o netbeans e vou programar exatamente o
que a gente viu durante a aula conceitual diretamente na aula prática não adianta você pular lá conceitual eu não vou explicar esses códigos de novo tudo isso é explicado detalhadamente na aula 12a se você quiser aperta lá em cima na nos indica ter actividade assistir à aula 12 a da sua playlist do curso de programação orientada a objetos e já então vamos abrir o nosso ambiente e começar a trabalhar já estou aqui dentro do meu seguinte vou criar um projeto novo esse projeto é uma aplicação java ou clicar em próximo o nome vai ser aula
12 no aula 12 vou criar a minha classe principal finalizar ele vai criar aqui pra mim já estou aqui com a minha classe principal vou abrir aqui na aula 12 botão direito em cima do pacote vamos criar a nova classe que a nossa classe animal que você tá vendo aí do lado animal vamos clicar em finalizar o código da classe foi criada em alguns segundos o que nós vamos fazer é criar os nossos três atributos protegido peso idade e membros peso idade e membros de três atributos vamos agora os métodos todos os métodos são abstratos
correto é o método público habitantes void locomover de vírgula e ró método abstrato public alimentar e publique emitir som que você perceber ele deu um erro aqui em cima isso porque animal uma classe eu não posso ser uma classe tem que ser uma classe abstrata eu tenho lá agora a classe ele não reclamou mais nada então eu tenho os atributos sotaque um comentário atributos de animal e aí eu vou colocar aqui métodos de animal lembrando que são métodos abstratos somente as filhas vão ser obrigadas a desenvolver vamos agora fazer uma filha de animal é que
você tá vendo aí do lado é de mamífero então vamos lá clique em projetos botão direito no pacote novo classe java vai ser mamífero não se esquece não tem acento finalizar e ele criou a minha classe mamífero vou fazer com que o mamífero ex tênis animal e automaticamente já vai reclamar aqui ó e eu tenho que implementar todos os métodos abstratos eu vou tirar todas essas exceções que ele gerou aqui e vou deixar o outro raid é só você comparar com o que está ali do lado vou também declarar um atributo hatch cor do pêlo
que a string sobrepôs locomoveu alimentar e misson locomover aqui vai ser correndo o alimentar aqui vai ser mamando e emite som e vai ser sondada mif todo na forma mais genérica possível já criei um mamífero aqui então esse código que você está vendo aqui do lado já foi totalmente feito o que nós vamos fazer aqui é partir para a próxima classe que é a classe réptil você dá uma olhada aqui eu tenho lá um atributo com escama e os métodos sobrepostos também da mesma maneira vamos criar réptil aqui então nós vamos criar aqui ó botão
direito nova classe é pediu à classe réptil ex tênis animal e ela tem também o atributo private jet stream rodrigues cama ele também sobrepõe os três métodos o botão aqui esquerda a implementar todos os membros abstratos ele já montou pra mim vou tirar as exceções ele sempre diz para uma exceção por padrão que no meu caso não não vou fazer isso então tá lá já fiz locomover o alimentado emite som locomover para réptil é rastejando alimentar para réptil comendo vegetais emitir som para réptil som de réptil vamos partir para a nossa próxima clássico vai aparecer
aqui do lado e que vai ficar aparecendo durante um na nossa programação que é a classe peixe dá uma olhadinha aqui agora peixe tem um método a mais que o método de fazer bolha é de soltar bolha vamos lá mais uma vez vou vir aqui em projetos botão direito no pacote nova classe é só repetir o procedimento peixe na classe peixe que foi gerada nós vamos ficar aqui cores cama que extingue nós vamos fazer o ex tense animal e vamos implementar aqui os métodos abstratos e também remover as exceções locomover pra ele é nadando ou
se alimentar é comendo substâncias e emite som vai ser o peixe não faz só também vou ter um método que eu soltar bolhas da bolha aqui para ficar igual e vou escrever na tela soltando bolha já fiz o peixe também antes de prosseguir vou fazer aqui ou o animal ele vai ter que ter os métodos guetos de 7 e os que se botão direito inserir o código jet setter todos eles pronto vou repetir o mesmo processo para mamífero botão direito em cd código de r 7 todos réptil também nenhum procedimento a gente poder ter os
métodos para colocar dados e puxar dados e também peixe percebe que é muito mais prático quando você utiliza a idéia porque facilita sua vida na hora de criar os métodos que são chatos de criar por repetição e agora finalmente nós partimos para a nossa última clássica subclasse animal que é a classe av dá uma olhadinha que ela também tem um atributo a mais de um metro a mais que o fazer ninho mas é bem fácil de fazer é só a gente repetir o processo vamos lá em projetos botão direito na classe novo classe java nós
vamos criar uma classe que que é a classe av essa classe ave também tem um atributo privada que é a cor da pena ela também ex tênis animal obviamente vou precisar implementar os métodos a mesma a maneira que todas as outras vezes eliminar aqui as exceções para eliminar cada linha tocando control é tá locomover de avião voando se alimentar de frutas emitir som vai ser só de ave vai ter fazer ninho onde esse método vai ter um construindo nenhum também vou fazer todos os meus métodos e éteres efe então é isso estamos com os códigos
básicos finalizados ou salvar tudo clicando aqui em cima e já estamos prontos para trabalhar no nosso código principal fazer o código principal vai ser tranquilo vou criar alguns exemplos vão fugir um pouco do que a gente deu uma aula a gente pode simplificar aqui o tentar criar um objeto da classe animal vamos lá olha só se eu vier aqui colocar o animal n é 1 mil animal você vai perceber que ele vai dar erro deu erro porque olha aqui em cima do animal é abstrato e não pode ser distanciado a gente viu isso aqui é
errada não vou colocar mas eu posso criar um mamífero é um novo mamífero também vou criar um réptil também vou criar como peixe e também vou criar uma ave de forma simples vou começar a trabalhar aqui ó fazer o mamífero ponto 7 a selar peso vai ser 35.3 flot vou fazer com que m ponto 7 cor do pêlo marrom e agora já tenho o corpo pelo também também vou fazer se m a se alimentar se locomover e emite um som se uma me feri lo se alimenta se locomove emite som vai ser o seguinte ó
executei pts 6 o alimentar mamando correndo que a locomoção e som de mamífero posso fazer a mesma coisa com qualquer outro por exemplo fazer o aqui né porque a minha av minha vida vou mandá lo a se locomover se a ave fosse locomover tivesse aqui se a área fosse locomover ave vai voando se o peixe for se locomover ele vai nadando se um réptil for se locomover o último aqui em baixo ele vai estejam viu como é simples então eu consigo chamar os métodos e esses métodos não se comportando de formas diferentes os nomes locomover
foi sempre o mesmo ea resposta era diferente isso é polimorfismo mas voltando ao nosso exemplo aqui de baixo então eu tenho um animal eu tenho um nome feio réptil peixe ea viagem já fez isso tudo agora a gente vai dar continuidade colocando às subclasses desses caras então eu tenho lá canguru cachorro cobra tartaruga gol do fish e arara eu tenho todos esses dessas novas classes e eu tenho também os métodos e atributos de cada uma delas eu vou implementar que todas elas mas você na sua casa pode ir aprimorando conforme foi aprendendo né esse exercício
prático embora botar a mão para trabalhar porque tem um monte de classe para criar aqui eu vou começar já criando uma classe para cada um eu ou já adiantar o processo aqui vou fazer o primeiro depois vou fazer todos os outros automaticamente vamos começar criando um canguru ó sempre a mesma coisa o botão direito novo classe e aí vai canguru ele criou a classe aqui vou repetir o mesmo processo pra todos os outros então eu fiz aqui o canguru cachorro cobra tartaruga gold fish e arará todos esses as classes estão criadas vamos fazer o seguinte
ó canguru ex tentes mamífero é cachorro também ex tênis mamífero cobra ex tentes réptil tartaruga também um réptil goldfish ex tentes peixe e ara ex assistentes av certo tão já fiz aqui as minhas lembranças se eu fizer a partir de agora já posso usar canguru cachorro sem problema nenhum porque ele tem atributos não vem funcionando aqui vou pra mim a classe principal aqui ó e agora eu posso criar além de mamífero réptil peixe tudo mais tivesse aqui também vou criar com o canguru vou criar um cachorro vou criar uma cobra uma tartaruga um gold fish
o mar a chamar aqui ó canguru cachorro em cima de carro achô who cobra itaboraí as letras chama dj tartaruga ou chamar de t goldfish chama de g e ara uma dieta beleza então já tem todos esses animais se eu chegar aqui e mandar um canguru se locomover olha o que está fazendo ele vai correndo então o canguru na hora de se locomover ele corre só que na verdade durante a aula a gente viu que o canguru não corre o gran cruz alta então a gente vai fazer essa alteração agora no nosso código nós vamos
fazer aqui ó com que o canguru ele vá sobrepor por um raid o nosso método é o blick void locomover ela percebe que isso aqui é a mesma assinatura então a seu procurar aqui no mamífero na hora de se locomover é a mesma assinatura assinatura é quantidade e tipo dos parâmetros que não tem nem quantidade de um tipo mas é exatamente o que está aqui na hora de se locomover eu vou mandar ele se locomover saltando eu também tenho um método público aqui usar a bolsa voltar aqui usando bolsa então sobrepôs aqui na hora que
eu mandar agora no meu código sem mudar nada eu mandei o canguru se locomover ele vai parar de correr aqui embaixo está correndo ele vai parar de correr ea partir de agora ele está faltando isso é sinal de que esse locomover é o mesmo nome só que para um canguru eu estou sobrepondo o locomover dizendo que ele vai saltar viu como funciona o polimorfismo eu vou fazer a mesma coisa para um cachorro não tem aqui ó o cachorro é k então vou fazer o cachorro que é k se locomover você percebe a mesma chamada locomovendo
comover os resultados vão ser diferentes o saltando o saltando que o canguru e ocorrendo é o do cachorro isso porque o cachorro aqui ó não tem locomover logo ele é assistente de mamífero se eu vier aqui mamífero o locomover recorrendo se eu pegar essa mesma assinatura que copiei ouvir aqui em cachorro vou colar essa mesma assinatura então o meu locomover vai ser substituída vamos supor que o meu cachorro onde o cachorro andando então a partir de agora o meu cachorro não vai mais correr agora ele vai andar no caso aqui eu não vou sobrepor locomover
mas se eu quiser por exemplo aqui ó no meu principal se eu mandar o cachorro a emitir som que ele vai fazer o cachorro na hora de emitir som ele vai chamar som de mamífero só que a gente sabe que tipo de som um cachorro limite então eu vou vir aqui no mamífero vou pegar o emite som é a mesma assinatura não vou copiar isso aqui ou digitar a mesma assinatura vou ver aqui um cachorro e vou substituir o dar 1 overweight e emite som partir de agora emitir som vai fazer ao al ao certo
então no meu programa principal na hora que eu mandar o cachorro emite som agora só o que vai fazer ao a se eu mandar o canguru emite som mandar na mesma ordem um canguru emite som e depois o cachorro amisom é a chamada ao mesmo método só que eles vão ter polimorfismo eles vão ter outras maneiras de fazer o som do mamífero que o canguru que fez né e logo em seguida o cachorro emite som ea gente já sabe que som que um cachorro mt então é isso pequeno gafanhoto eu espero que você tenha entendido
o nosso exercício foi um exercício relativamente grande tem muita coisa se você só ficou assistindo ou vendo fazer com certeza você entendeu mas você ainda não sabe fazer então você precisa colocar a mão na massa abriu neste ambiente e fazer funcionar isso porque você vai ter pequenas surras logo no início e que com certeza se você for praticando você vai entender então é isso porque no gafanhoto eu espero você na próxima aula onde a gente vai falar sobre a segunda parte de polimorfismo nele a gente vai tratar o polimorfismo de sobrecarga você vai entender qual
é a diferença entre sobrepor e sobrecarregar que é uma coisa que geralmente os alunos se enrolou muito e se você quiser saber quando essa aula sair é fácil você se inscreve no canal aluno inscrito que clica no cine então você se inscreve logo lado se inscrever aparece um sininho você clica nesses sininho e com certeza você vai ser avisado assim que a próxima aula sair vai começar a receber notificações ou então você volta toda semana que as segundas-feiras às 11 horas da manhã sai uma aula nova a gente tem aula até três vezes por semana
e têm aula na segunda e na quarta e na sexta na quarta um vídeo mais solto na sexta aula de excel e na segunda-feira aula de programação orientada a objetos além de se inscrever você pode também ver a nossa playlist clicando aqui em cima você vai ver todos os cursos que estão disponíveis e também podem acessar nosso site que é o curso em vídeo pontocom então é isso que o gafanhoto um forte abraço pratique sempre coloca esse negócio de polimorfismo em prática que com certeza muita gente se enrolar com isso um forte abraço e até
a próxima
Copyright © 2024. Made with ♥ in London by YTScribe.com