Como fazer Herança de classes no Java - Curso Java POO Aula #11

15.99k views5061 WordsCopy TextShare
Academia dos Devs
Nesse vídeo você irá aprender o que é herança de classes na programação orientada a objetos (poo) e ...
Video Transcript:
beleza Lucas Moura aqui e nesse vídeo vamos falar sobre herança que é um conteúdo muito massa que eu acho que você vai curtir muito então bora lá herança você vai ver que é um conteúdo bem fácil e para me explicar isso eu vou dar um exemplo de quatro classes a primeira classe que nós temos é cachorro gato dragão e pombo Então como você pode ver são animais aí do nosso cotidiano do nosso dia a dia que a gente vê sempre Então vamos começar fazendo o seguinte eu tenho essa classe cachorro e vamos começar criando ela
e depois gato pode ser então vamos lá Primeira coisa eu vou criar essa classe cachorro aqui então ela tem um nome e quatro métodos comer beber latir e lamber o gato também tem esse tributo nome e os métodos comer beber e miar essa diferença é um miar aqui então vamos começar criando cachorro aqui então a primeira coisa que vou criar minha classe cachorro como é um arquivo vou colocar aqui eu seleciono que é uma Class cachorro e vamos começar criando o atributo target string nome é o nome do cachorro e agora eu vou criar os
métodos comer beber pubg latir e o último que é lamber certo agora nesses métodos Vamos colocar uma mensagem bem simples só para falar que está funcionando ali o método então o cachorro comeu copiar isso aqui e vou pedir para cada um desses métodos aqui a diferença vai ser aqui latiu bebeu e lambeu certo criamos a nossa a nossa classe cachorro agora vamos fazer a mesma coisa para classe gato Então vem aqui gato ponto Java Glass gato e se você olhar lá gato tem os métodos e o atributo nome então é bem parecido A diferença é
que não tem um método latir e lamber então tem apenas um método diferente ali que é o miar então vamos fazer o seguinte para agilizar aqui eu vou copiar todo esse conteúdo aqui apenas os atributos e os métodos e aqui ao invés de cachorro eu vou alterar para gato como que eu faço isso de uma forma rápida vou clicar duas vezes para selecionar vou apertar control D agora ele vai pegar a próxima palavra que tem o mesmo conteúdo que é cachorro vou apertar de novo aí ele já vai selecionar três mais um selecionou quatro e
agora eu digito gato aqui para saber certo aqui o gato ele não late Vamos colocar miar no lugar então um gato mio certo agora lamber o gato até que lambe né mas pode ser gato lambeu nada impede mas eu vou tirar aqui lamber só para ficar mais rápido que o nosso processo então o gato tem nome e os métodos comer beber e miar dessa forma agora eu tenho mais duas classes dragão e pombo o dragão ele tem também nome comer beber soltar fogo e voar então se você reparar aqui ele repete os métodos das outras
classes tá bom e para a gente não ter que fazer esse processo de novo criar uma classe copiar os métodos copiar atributos aí que vem a herança para ajudar a gente a evitar esse código repetido ou para facilitar para a gente isso aí a manutenção desse código tá bom primeiro aqui eu vou fazer o seguinte se eu voltar aqui nas classes vamos identificar Quais são as informações que repetem em cada um desses animais aqui o cachorro ele tem o nome e esses métodos aqui se a gente olhar em cada uma dessas classes os métodos que
repetem são comer beber e somente esses e o atributo nome então a ideia da herança é você juntar tudo que é comum entre cada um desses dessas classes e transformar em uma classe que é digamos que a classe mãe ou classe pai digamos assim então essa classe genérica ela vai ter tudo que se repete em cada uma dessas e cada uma das classes filhas vão herdar essas informações aí então por exemplo aqui a ideia é ter um animal uma classe animal que ela vai ter o atributo que repete em cada uma dessas classes que é
a string nome e também vamos colocar todos aqueles métodos que também são repetidos e que não tem mudança nenhuma em cada uma dessas classes aqui que por exemplo é comer e beber Então vamos começar criando essa classe animal para ficar mais fácil e melhor no nosso projeto eu vou criar um pacote que vai chamar animais por exemplo e para mim criar de uma forma rápida eu vou clicar aqui para adicionar um novo arquivo New file vou digitar o nome do pacote que é animais vou apertar a barra e agora eu vou digitar o nome da
minha classe que é o nome do arquivo né animal ponto Java dessa forma aqui o visual Studio code já vai criar uma pasta se ela não existir chamada animais lembra que uma pasta é um pacote e vai criar esse arquivo animal Java também tudo de uma vez só então ele já criou aqui a pasta demais e a classe animal contra o Java selecionei aqui cresce animal agora o que que nós vamos fazer colocar todos esses conteúdos aqui que pertence a um animal então É como se eu falasse o seguinte cachorro é um animal gato animal
dragão é um animal e bomba é um animal se eles são animais então eles têm um nome um método comer e um método beber então eu vou criar aqui Present e os métodos comer e o método beber dessa forma como eu estou fazendo esses métodos de forma genérica eu posso fazer o seguinte ao invés de mostrar cachorro comeu o gato bebeu eu preciso fazer uma mensagem que seja compreensível assim que seja adaptada para cada um desses animais aí então eu posso fazer o seguinte eu poderia digitar uma mensagem animal comeu só que eu vou aproveitar
esse nome aqui eu posso falar o seguinte o nome né que é o atributo dessa classe comeu Como que eu faço isso eu vou digitar aqui eu poderia fazer string mensagem é igual string formant dessa forma aqui onde eu coloco o identificador porcentagem S comeu e sempre que tiver um identificador quer seguir dessa porcentagem S significa o seguinte Aonde tiver isso aqui o s vem de string então tudo que eu colocar aqui as variáveis que eu colocar depois dessa vírgula vai sobre escrever cada um desses identificadores se eu tivesse outra aqui ele Eu precisaria colocar
duas variáveis então por exemplo o nome esse nome aqui vai sobre escrever o primeiro identificador Se eu colocar mais uma variável aqui nome de novo esse segundo vai receber esse nome aqui tá Por enquanto eu quero apenas dessa forma aqui então o nome do animal comeu dessa forma que e eu coloco para imprimir mensagem tem uma forma mais rápida de fazer isso que é você fazer usar o System ou você pode aproveitar o sisalt que é aquele atalho nosso sealte e ao invés de print LN você coloca print F dessa forma o f vem de
Format então aí você consegue colocar esse padrão aqui então o que eu vou fazer apenas copiar isso aqui e colar aqui no nosso printf dessa forma então agora não preciso mais esse print LN e pronto já resolveu o nosso problema aqui agora eu vou copiar isso aqui e repetir aqui para o método beber Pronto terminei a minha classe animal agora nós vamos fazer o seguinte nós vamos criar todas essas outras classes cachorro gato dragão em pombo e nós vamos falar o seguinte que essas classes vão herdar tá aí a herança né vão herdar dessa classe
animal então vou fazer o seguinte para ficar mais fácil eu vou deletar aqui cachorro e gato só para não ter confusão que a gente criou antes e aqui em animais no nosso pacote eu vou clicar aqui com o botão direito New Fire e o primeiro vai ser o nosso cachorro de novo cachorro vou selecionar aqui Class e agora nós vamos fazer o seguinte eu quero falar o seguinte chave eu quero que o cachorro ele arde todas as informações da classe animal Como que eu faço isso como que eu faço essa herança eu faço Extreme e
o nome da classe que eu quero herdar Qual que é a classe e isso boa animal dessa forma bom agora eu fiz a herança se eu criar aqui se eu vou estar lá em app.java e fizer um objeto do tipo cachorro meu cachorro dessa forma e fizer cachorro ponto eu vou acessar todos os métodos que pertencem ao animal que são beber e comer mas pera aí aqui encaixou não tem esses métodos da onde que tá vindo da herança então perceba que quando você faz um extenso você está herdando da classe que é a classe superior
a classe super então cachorro é uma subclasse ou classe filha vai do jeito que você achar melhor e é classe que vem acima é a classe super Tá bom uma super classe então cachorro herdou todas essas informações aí de animal aqui eu esqueci de colocar os métodos get e sete do meu atributo nome aqui eu poderia digitar manualmente aqui esses métodos a verdade Public string get nome dessa forma retorne diz ponto nome só que eu já mostrei para você um atalho bem legal que gera todos os métodos gerar e séries de forma automática aqui botão
direito no código Surf Action se tiver em português a imagem que seja ação de fonte alguma coisa assim ser Action Generation Gets dessa forma aqui pronto gerou aqui para gente o nosso get e o 7 nome aqui bom agora Cachorro Eu Tenho get nome e o 79 legal bom agora nós vamos colocar todo o conteúdo que é exclusivo digamos assim do cachorro se a gente olhar aqui cachorro tem o método latir e lamber ele não tem nenhuma tributo a mais de diferente de animal aí apenas esses dois métodos então vou fazer e Public void lamber
dessa forma e agora eu posso fazer aquele padrão vou copiar aqui a minha mensagem aqui dessa forma bom olha aqui ele deu um erro falando o seguinte eu tô tentando imprimir Daquele mesmo modelo que seria o nome do animal comeu e no lugar do porcentagem s o nome do animal só que ele deu um erro falando o seguinte que essa variável nome esse atributo tá falando que não é visível para essa classe cachorro mas por quê se a gente votar em animal você vai ver que o nome ele está com Private esse modificador Private lembra
que ele é um modificador que define que é uma variável é um método ele só é visível para essa classe aqui então a classe cachorro por mais que ela é de tudo de animal Ela não tem visibilidade para acessar essa variável aqui se eu colocasse aqui pubg perceba que sumiu o erro só que aí vai dar aquele problema de que a gente sempre tem que colocar Private para os atributos pelo menos para quando é atributos de classe e você não vai usar externamente então a gente tenta sempre deixar encapsulado aí para não ser visível externamente
tá bom se ele é privado como que a gente vai acessar ele por essa classe nós poderíamos usar um outro modificador Mas isso é um conteúdo com a próxima aula a gente pode usar os nossos métodos públicos get e sete nome tá poderia fazer get nome e aqui também quieto então perceba que resolveu o problema aí vou salvar aqui e agora vou fazer cachorro ponto comer e cachorro latir dessa forma então aqui ao invés de latir ao invés de comeu e lambeu dessa forma vou executar aqui no no Tá o que que houve aqui primeira
coisa no porque no porque a gente não definiu o nome do nosso cachorro a gente poderia fazer cachorro ponto sete nome por exemplo caramelo vamos executar caramelo comeu caramelo latiu só que perceba que ele está imprimindo tudo na mesma linha como que a gente pode resolver isso aqui a gente poderia colocar barra em e também/n o que que esse barra n Lucas é um identificador que fala para a gente quebrar uma linha é como se a gente tivesse vindo aqui e apertar o enter é esse que o barranco certo mesma coisa vou fazer aqui dessa
forma por que que eu precisei colocar esse barra n Já que no print ali é não precisa quando você faz o sisalt esse print LN o próprio comando já diz ó print Line New não sei se o significado mas é como se quando você usasse Sprint LN é como se ele pulasse uma linha para gente a próxima linha automaticamente por isso que a gente não precisa colocar o Barreiro já no pinte F nós precisamos Tá bom vou salvar aqui e vamos ver se resolveu aqui caramelo comeu caramelo latiu Ótimo vamos fazer a mesma coisa para
o outro animal que é o gato o gato ele tem um método específico que é miar Então vem aqui vou criar a classe gato ponto Java dessa forma Class E agora o que que eu preciso fazer isso extenso animal boa então gato Extreme animal ou seja eu tô criando uma subclasse gato que estar dando de uma super lembra super é acima então super clássico animal Então eu tenho gato é uma subclasse e animal é uma super classe ou classe mãe pai ou qualquer coisa aí que você acha melhor mas você entendeu É Uma Super classe
e aqui está dando é uma subclasse então um gato que que ele faz diferente de animal ele tem um método niar dessa forma vou copiar aqui também a minha mensagem dessa forma aqui então se eu criar aqui um gato o amigo gato dessa forma gato ponto miar dessa forma aqui vou executar preceu no miou de novo eu preciso definir o nome do gato sete nome vamos chamar de gato Sei lá snowbel snowbel acho que dificilmente alguém vai pegar essa referência aí mas vamos lá snowbell me ou tá vamos melhorar um negócio que é o seguinte
você tá vendo que a gente está precisando sempre ficar definido esse 7 nome e nós estamos esquecendo de definir sempre na hora de nós usarmos esses objetos aí para isso Lembra que você tem um Construtor na hora de criar um objeto então vamos fazer o seguinte eu quero criar um consultor que ele vai construir esse objeto já informando o nome Então como que eu faço isso eu poderia criar o consultor aqui em gato gato aqui eu passo o nome e eu poderia fazer desconto nome é igual a nome só que como esse nome aqui não
está nessa classe tá lá em animal Eu precisaria fazer Eu precisaria usar o método 79 dessa forma aqui certo só que dessa forma aqui apenas o gato vai ter esse consultor então se eu voltar aqui gato agora ele deu erro porque porque eu preciso passar o nome dele na hora de construir objeto na hora que eu estou instanciando então se eu fizer dessa forma ele funcionou só que eu quero fazer isso para todas as classes E como que você pode fazer isso isso basta colocar esse consultor na classe pai ou mãe ou Super classe isso
ele é Superman super clássico então aqui em animal eu vou criar o consultor Pub nome da classe dessa forma no consultor eu quero receber um parâmetro que é estranho de nome e eu quero fazer o seguinte assim que eu passar o nome uma variável chamada nome nesse parâmetro aqui desse consultor eu quero definir o atributo da classe nome com o valor de nome que foi passado aqui poderia ser nome dois underline dessa forma só que é uma boa parte que você manter o mesmo nome então nome aqui só que como que eu define qual tá
recebendo qual porque eu tenho duas variáveis com o mesmo nome literalmente o mesmo nome então por isso que eu usei o disco quando você usa o disco você está fazendo referência a esse código que está dentro dessa classe aqui Então desse ponto nome é essa variável esse tributo aqui recebe o conteúdo desse parâmetro aqui nome se você olhar essas classes aqui cachorro e gato elas estão com erro falando o seguinte que tá falando que a gente não definiu os Consultores então eu teria que fazer um outro consultor dentro de cachorro cachorro dessa forma e agora
ainda está com erro porque porque eu preciso chamar o consultor da classe superior da classe super que é animal Como que eu faço isso eu não falei que a classe superior ou Super é super então basta você fazer super dessa forma em Abrir parênteses aqui aqui eu vou colocar o conteúdo então tudo que tiver dentro desse parênteses faz referência a tudo que está nesse parênteses aqui de animal então quando eu faço super abrir e fechar parênteses eu vou passar todos os parâmetros que essa classe superior animal está recebendo Então ela está recebendo nome um string
nome então vou passar o nome para esse animal que é por exemplo cachorro só que se eu fizer dessa forma eu tô falando o seguinte cada vez que eu criar um cachorro ele vai ter um nome lá na classe animal chamado cachorro mas eu quero que o cachorro tenha um nome Digamos que personalizado então eu quero passar um nome específico aqui então eu faço string nome e aqui ao invés de escrever cachorro eu passo essa variável que nome que foi passado no consultor do cachorro certo então agora basicamente nós resolvemos o problema de cachorro e
vamos fazer a mesma coisa para o gato aqui nós vamos criar aqui o consultor aqui eu tinha digitado antes Aqui Public gato vou fazer o seguinte pubg gato tá com erro por quê Porque eu não chamei o consultor do super então super clássico Passa esse parâmetro aqui nome dessa forma resolveu o nosso problema se nós voltarmos aqui para classe App ele tá esperando que nós passe o conteúdo que é o nome então vou colocar aqui caramelo dessa forma agora não precisa mais desse 7 não e vou executar tá aqui caramelo comeu caramelo latiu e snowbel
miou dessa forma aqui então essa é a forma de você usar o consultor E outra coisa se você tivesse mais um atributo aqui nessa classe cachorro por exemplo Private por exemplo anti ossos comidos e você quisesse que esses ossos comidos começasse com valor de desconto nossas comidas começa com valor de 10 por exemplo Então sempre que criar um cachorro ele comeu por exemplo 10 quando você faz essa definição aqui no consultor que é super normal e essa classe cachorra ela é herda de uma outra classe animal a primeira linha aqui dentro desse consultor precisa ser
a chamada do super aqui então perceba que deu um erro que é o seguinte tá falando que o super aqui ele precisa ser a primeira linha desse consultor então basta inverter aqui vou apertar para cima pronto então primeira linha contém a chamada do Construtor da classe super então chamei aqui passei essas informações e depois eu coloco isso aqui isso aqui que seria por exemplo as definições da classe que você quer colocar no consultor agora vou fazer o seguinte posso apagar esse tributo aqui vamos criar as outras duas classes que são dragão e pombo então dragão
vou clicar aqui tô com curso selecionado e o Fire dragão não posso colocar o assento lembra então vou colocar dragão sem acento ponto Java nome do arquivo dragão vou colocar extens e o nome da classe que eu quero herdar que é animal um macete aqui em dragão se você fizer a dessa forma o visual de code vai sugerir um código para você então se você clicar aqui em dragão vai aparecer essa lâmpadazinha aqui então clique em dragão cliquei na lâmpada amarela aqui e aqui ele tá falando o seguinte quickfix solução rápida Qual que é a
solução adicionar um consultor dragão que recebe uma string cliquei e pronto ele já fez o consultor recebendo um parâmetro nome e ele já fez a chamada do método do consultor da classe superior dessa forma aqui posso apagar esse comentário e agora basta fazer o seguinte adicionar os métodos específicos dessa classe que é soltar fogo e voar então eu faço e tudo que void voar dessa forma aqui agora eu coloco a minha mensagem vou copiar aqui também então o dragão ao soltar fogo ele vai imprimir a mensagem soltou uma bola de fogo e alvoir voou tem
um acento aí mas na dúvida eu vou colocar tá bom certo então dragão voou e pode soltar fogo vou chamar essa classe que vou criar um objeto do tipo dragão meu dragão Vamos colocar o nome de dragão branco de olhos azuis essa aqui é referência para poucos aí quero ver alguém acertar e se você pegou referência comenta aqui embaixo Dragão Branco de olhos azuis essa carta que é Rara certo então dragão ele pode voar e pode soltar fogo dessa forma aqui então Dragão Branco de olhos azuis vou e soltou uma bola de fogo agora vamos
para o nosso pombo vou clicar aqui adicionar uma classe pombo o nome da arquivo É um pombo já cresce pombo e aqui o que que o pombo faz olha aqui o pombo ele tem uma tributo a mais que nem um animal que a gente criou até agora tem ele tem cartas enviadas Então vamos criar esse atributo target quente cartas enviadas dessa forma aqui e agora eu posso fazer os métodos Ah eu esqueci de fazer a herança então pombo ele então ele herda de uma classe super que é animal cliquei aqui na classe pombo na lâmpada
para adicionar esse consultor pronto aqui ele inverteu eu posso fazer o seguinte selecionei Alt nessa linha então ó vim aqui até a linha do tributo você segurar Alt seta para cima e vou apertando a seta para cima até ficar na posição que eu quero vou apertar entre aqui pronto posso apagar esse comentário e agora eu vou fazer o seguinte vou adicionar os métodos voar Então pode voar fazer para tirar o h aqui e o outro que é up void enviar carta dessa forma aqui vou copiar o nosso modelo de mensagem aqui dessa forma e aqui
ao voar eu posso fazer o seguinte o pombo né que é isso aqui voou e o outro quer fazer para ele fez para o dessa forma aqui e enviar carta pombo o nome dele né enviou uma carta aqui nós temos um atributo cartas enviadas vamos aproveitar esse atributo e fazer o seguinte nós vamos fazer 10 pontos cartas enviadas ou apenas cartas enviadas dessa forma vai funcionar é igual cartas enviadas mais um Então eu peguei o valor da variável do atributo cartas enviadas peguei o valor atual dele e somei mais um então se ele tinha 10
cartas ele vai passar até 11 se ele tinha 12 passa até 13 e tem uma forma mais fácil Basta fazer cartas enviadas mais mais que ele vai pegar o valor atual mais um Então esse mais mais significa isso aqui só que de uma forma bem mais rápida cartas enviadas aqui eu quero que o pombo comece com cartas enviadas um valor de por exemplo cartas enviadas por exemplo 10 então ele assim que criar um pombo ele já vai estar no seu currículo digamos assim 10 cartas enviadas bom agora tá faltando o seguinte tá faltando eu criar
os métodos get e 7 desse tributo cartas enviadas aqui eu vou clicar com o botão direito ser-se Action Generation Só que eu não quero dar liberdade de definir externamente fora dessa Classe A quantidade de cartas que eu como enviou porque porque eu já tenho um método enviar carta então eu quero apenas ter um método get então apenas get carta enviadas então de novo ser sexo e ao invés de criar clicar em Generation cartazes enviadas dessa forma aqui por que que eu criei o get e não 7 porque por exemplo senão fora dessa casa aqui eu
poderia fazer sete cartas enviadas e colocar 9 mil por exemplo não eu tenho uma regra de negócio aqui que é de um em um Tá bom então isso evita aí problemas enviadas vou criar um rombo aqui Combo vamos chamar de pombo correio Sedex responder ponto enviar carta pombinha ponto fazer cru dessa forma aqui Pombo Correio SEDEX enviou uma carta e fez pro legal né bom agora nós vamos fazer o seguinte nós já criamos todas as quatro classes que são cachorro gato dragão e pombo Mas vamos olhar o seguinte a gente pode melhorar ainda mais o
nosso código Porque Nós criamos uma classe animal que tem tudo todos os atributos e métodos que repetem nessas quatro classes mas nós podemos criar uma outra classe que vai ter o conteúdo que é comum para uma dessas classes aqui então por exemplo dragão ele tem um método voar e pombo também tem um método voar então nós podemos criar uma classe que herda de animal e que tem esse método Voar como se fosse uma classe por exemplo ave então eu poderia colocar todo o conteúdo relacionado nessa classe então que ficaria eu teria uma classe ave que
herda da classe animal e as classes dragão e pombo ao invés de herdarem de animal elas vão herdar dessa nova classe chamado ave então dessa forma dragão e pombo já vão herdar o método voar então vamos fazer o seguinte aqui em animais eu vou criar uma classe ave Plus ave vou fazer essa classe estender da classe animal Vou colocar aqui o Construtor ave stream posso apagar isso aqui e agora eu vou criar aqui um método chamado Public void voar dessa forma e agora eu vou colocar de dragão vou copiar isso aqui pronto o animal né
voou dessa forma aqui agora eu vou refaturar o nosso código aqui de dragão e Pombo o que que é fatorar é você alterar um código que já foi criado e melhorar fazer algumas melhorias nele então por exemplo aqui pombo ao invés de herdar de animal eu vou fazer com que ele ergue da classe ave que por sua vez herda de animal então perceba que você já tem mais um nível aqui então extenso ave agora eu posso apagar esse método voar daqui de pombo dessa forma aqui e também vou fazer a mesma coisa para dragão aqui
não vou ter esse método voar e ao invés de verdade animal vai herdar de ave dessa forma então aqui em appjava vou fazer a pombinha voar também e vamos ver se estão funcionando dragão tempo para voar Aqui tá um dragão voou e o pombo também voou Então já funcionou aí então no Java você pode herdar de várias classes mas não ao mesmo tempo então dragão aqui é uma ave e também é um animal então você pode ter vários níveis de herança só que você não pode ter heranças múltiplas que eu vou mostrar daqui a pouco
então só para continuar na explicação aqui dragão ele é uma ave e um animal mas perceba que dragão ele é uma especialização de um animal então quanto mais você vai descendo Então você tá descendo aqui o nível quanto mais você vai descendo nessas heranças Mas você vai ter uma especialização e lá no topo Você tem uma generalização então aqui é um animal Genérico e lá embaixo é uma especialização algo especialista então um animal não pode ter heranças múltiplas o que que seria isso seria por exemplo o pombo você falar que ele herda de uma ave
e um rato ao mesmo tempo então você não consegue fazer o seguinte pombo ele é deste ave e por exemplo uma outra classe por exemplo cachorro só de exemplo não tem uma classe rata aqui mas se você fizer isso aqui tá falando o seguinte que ele não consegue colocar herança múltiplas na verdade tá dando erro outro erro né de sintaxe aqui mas o Java não permite você fazer essas múltiplas você herdar essa classe aqui de várias outras classes ao mesmo tempo então você ter que criar igual fizemos aqui você teria que criar uma classe animal
depois uma outra classe que era de animal e depois monta classe que era dessa classe por exemplo outra dica importante no Java nós não podemos fazer herança cíclica o que que é isso é você por exemplo ter um ciclo na herança então por exemplo aqui o cachorro merda da classe animal e você não pode falar o seguinte eu quero que animal também herde de cachorro então perceba que ficou algo esquisito um herdou de outro e o outro herdo do outro então já vai te falar você não pode fazer isso aí então por exemplo aqui se
eu fizer animal extenso cachorro olha o tanto de erro que já deu tá falando que tipo aí hierarquia está inconsistente porque porque você tem uma herança múltipla você tem um círculo um merda de outro e o lá de baixo é do lado do Topo então você não pode fazer isso então deve Esse é o conteúdo principal de herança tem mais coisas que você precisa aprender como por exemplo os outros modificadores de métodos e tudo mais mas o principal é isso aqui eu tentei simplificar o máximo possível para ficar bem fácil de entender mas se você
tem alguma dúvida ou um comentário algum elogio pode deixar aqui um comentário que eu vou ter o maior prazer de ler tá bom E se você é novo no canal não se esquece de se inscrever para você não perder os próximos conteúdos relacionados a herança e programação orientada objetos tá bom e é isso aí valeu e até mais
Copyright © 2025. Made with ♥ in London by YTScribe.com