Oi Valéria tudo bem com você seja muito bem-vindo a mais uma aula aqui do nosso curso de Python orientado a objetos e se você quer para que elas aqui nessa aula você não sabia classe você não sabe que se objeto você não sabe disso métodos Convido você a contar nas nossas primeiras aulas aqui dessa playlist aqui no YouTube mesmo eu vou deixar o link nos comentários na descrição em algum lugar aqui e nessa aula a gente vai falar sobre herança que o tema super importante de orientação a objetos e permitir principalmente a gente consegue fazer relacionamento entre várias classes e consequentemente economizar muitas linhas de código que a gente consegue reaproveitar essas linhas de código o que faz total diferença na hora da gente fazer a sustentação de um sistema porque as coisas estão muito mais bem definidas em vez da gente tem um monte de código repetido em vários lugares eu queria pedir um pouquinho de paciência para você se você percebeu que faz uma semana aí que a gente acabou ficando sem nenhum vídeo no canal isso é porque eu queria convide semana passada então e a b ruim tá fazendo algumas vezes mas eu não queria ficar aqui sem trazer mais nenhum conteúdo para vocês por tanto tempo então eu tô fazendo esse vídeo aqui pode ser que minha voz fica um pouquinho estranho alguns momentos mas eu tenho certeza que você vai gostar dessa alta que eu tô fazendo com muito carinho esse assunto aqui é muito legal aí é de extrema importância para quem quer aprender programação Então bora ó eu queria mostrar um problema para você imagina que você tá fazendo a criação de um sistema para uma empresa e esse sistema ele precisa salvar informações de uma pessoa algo genérico mesmo como o nome sobrenome e CPF e ela precisa também falar informações de clientes e clientes eles também possuem nome sobrenome e CPF Mas eles compram na empresa é isso que diferencia uma pessoa de um cliente o cliente ele compra de uma empresa certo e você também precisa representar informações de um funcionário e o funcionário ele também tem informações de nome sobrenome que você deve por o funcionário você tem que ser uma pessoa concorda Mas você também tem o salário real specifically de funcionário funcionário ele recebe o valor da empresa que é o seu salário Ok como que a gente faz com que a gente sabe até agora o reaproveitamento de código para que a gente não tem o que fazer uma definição que nem é essa que tá aqui na tela repetindo o código várias vezes de nome sobrenome e CPF Então pode vir aqui que temos nome sobrenome e CPF na classe cliente e temos nome sobrenome e CPF sendo atribuídos aqui na classe pessoa e se a gente tivesse aquelas funcionava a gente teria nome sobrenome e CPF de novo porque o funcionário ele também tem dessas informações não com o que a gente faz para reaproveitar esse código para gente não precisar repetir essas informações aqui bom se você não conseguir achar uma resposta fácil pelo menos provavelmente a partir você ainda não sabe herança Porque como herança a gente consegue criar um O Casamento entre essas duas classes ou mais classe que permite a gente reaproveitar atributos e métodos entre as classes E aí a gente vai ter o conceito de classe para classe mãe né que é chamado super Classe A classe principal e a gente tem a subclasse que a classe que vai herdar essas informações Então se a gente pára para pensar que nesse contexto de pessoa que cliente o cliente Ele é uma pessoa agora uma pessoa não necessariamente ao cliente porque uma pessoa só passa a ser um cliente a partir do momento em que ela comprou da empresa certo e a mesma coisa do funcionário o funcionário é uma pessoa mais uma pessoa não necessariamente ao funcionário porque uma pessoa só viram funcionar a partir do momento em que ela é compra água pela empresa então a gente consegue definir muito bem o escopo dos objetos aqui utilizado herança e como que a gente faz isso então a primeira coisa que eu quero a vocês eu vou até colocar esse código aí para baixo eu vou apagar ele por enquanto porque eu quero construir isso daqui junto com vocês então se a gente tivesse construir a classe cliente aqui agora como que a gente faz a gente tem que colocar Class cliente do sol e a gente tem que comecei a fazer a definição do método Construtor que o inite do jeitinho que tá aqui certo método observamos completo e ele tem um método adicional que eu adiciona compra para que cada compra que seja adicionada ele ele adicione essa compra na lista aqui no atributo compras então o Sport fez que a gente tem entre a classe pessoa e a classe cliente é esse atributo compras que é uma lista vazia que a gente cria logo dentro do Construtor e esse método que adiciona as compras aqui dentro dessa lista vazia mas antes de tudo isso a gente já sabe que a gente tem que fazer o reaproveitamento de tudo que a gente tem aqui de nome e sobrenome CPF da o sexo e relacionamentos outras coisas que estavam no aí vocês pra gente já sabe que a gente tem que aproveitar da classe pessoas o nome sobrenome e CPF e a gente tem que aproveitar também esse método obtém nome completo porque o cliente ele também vai precisar dessas informações e para gente fazer isso primeiro passo é a gente colocar aqui entre parentes acho que essa é a parte das partes mais fáceis que a gente tem de ter programação orientada a objetos mas é extremamente poderosa a gente coloca aqui entre parentes na frente da definição da nossa classe cliente qual classe que a gente quer fazer anos ou seja qual classe que a gente quer reaproveitar os seus métodos e atributos e a classe que a gente quer no caso aqui é aquela pessoa então aqui definimos a classe cliente e por enquanto eu vou colocar a palavra pés simplesmente para ele não fazer mal e aqui eu já queria fazer um primeiro teste que vocês se juntos tentar fazer a criação de um projeto cliente do jeito que tá aqui sem passar em um par é isso daqui não vai funcionar Porque como a gente está fazendo a herança das informações aqui da classe pessoa Esperança inclui a herança do método Construtor Então na hora que executar esse código aqui pode ver que ele vai dar ir ele tá falando aqui que o método construtor da classe cliente ele precisa de três parâmetros Qual parâmetro do nome sobrenome e CPF aí você pode tá me perguntando Mas Paulo você nem definiu o cio deve ter limite para ser um construtor da classe cliente Como que essa classe está precisando de três parâmetros se ela nem tem um Construtor declarado Pois é essa é a mágica da herança pode fazer isso a gente já reaproveitou esses dois métodos que estão declarados aqui o método init e o resto obtém nome completo quer ver eu vou colocar aqui na definição então primeira coisa que a gente é para aquele homem e depois a gente tem um para servir novos ao piloto e eu vou por um CPF qualquer aqui é isso que 16. Dois. .
. Um dois e é com isso eu vou executar de novo e o código ele já parou de dar erro e criou o objeto quente e tanto que é pior que a gente pode colocar um príncipe e colocar cliente ponto e utilizar o método da classe pai de novo pro método obtém nome completo e Chamar esse cara que ele vai retornar para a gente o nome completo do cliente Então veja que simplesmente da gente colocar aqui na definição da nossa classe após o nome da classe entre parênteses o nome da classe que a gente quer dados e informações do jeitinho que tá aqui ele já herdou tanto Construtor quanto esse método obtém nome completo então eu Convido você a fazer um exercício aqui agora de criar a classe funcionário que era das informações da classe pessoa não deixa inscrever-se rapidinho e crie uma classe chamada funcionário e erga as informações daquelas pessoas do mesmo jeitinho que a gente fez com a classe cliente e aí queria também o objeto Aqui é do mesmo jeito que eu fiz imprimir o nome sobre o nome e o CPF e também invocando o método obtém nome completo pausa o vídeo e faz esse exercício e conseguiu Espero que sim bloquear já pedir então classe funcionário Bayern larga é fácil pessoa que aqui simplesmente o peça e aqui a gente pode trocar em vez de frente eu vou e ao objeto da classe funcionar você tá E funcionou perfeitamente Beleza então pra gente fazer a herança entre as classes na definição da Classe A gente tem que colocar qual classe A gente quer fazer as Ok eu vou apagar esse daqui não vai atrapalhar a gente agora qual que é o próximo problema que a gente tem é que o método init que a gente está utilizando aumento do limite da classe pessoa porém a gente precisa de um atributo a mais aqui dentro desse método do consultor que é o selfie ponto compras que é isso daqui ó selfie ponto compras Então como que a gente faz para adicionar essa especificidade aqui dentro daquela Se informa que ela continue tendo os atributos nome sobrenome e CPF herdados da classe pessoa porém agora também com o atributo de lista de compras para a gente fazer isso a gente vai ter que definir o método Construtor aqui dentro da classe cliente e você já sabe para definir um método Construtor RF Online levar o cliente (tiver para receber os céus o cliente ele tem que receber nome sobrenome Sepé então a gente precisa ter também esses atributos aqui e no caso ele não vai ter nenhum atributo a mais porque ele está compras Ali é uma é uma lista vazia nem foi a gente não precisa receber como parâmetro Só que tem um pulo do gato para que a gente não precisa e simplesmente copiar e colar essas linhas aqui dessa forma que a gente não quer repetir os códigos certo então se a gente simplesmente colar se isso aqui isso até funcionaria até vou mostrar para vocês a opção. Compras igual ela estava ó e aqui a gente consegue fazer aqui é só do que só isso funciona o que aconteceu aqui a gente sobre escreveu o método que a gente herdou na classe pessoa então a gente simplesmente sobre escreveu o método inteiro Construtor que a gente tinha dado daquela pessoa só que a gente não quer que seja feito dessa forma porque a gente quer e aproveitar o código de excepção que dessas três horas e para a gente fazer isso é importante a gente entender que a classe pessoa é a superclasse Ou seja a classe pai e a classe cliente é chamada de subclasse Ou seja a classe que herda as coisas tá com as pessoas então pessoa que é super classe e cliente é uma subclasse beleza da dessa nomenclatura e o pai com ele tem uma sim táxi para a gente conseguir chamar o Construtor da classe pai que aproveitar é só isso aqui para a classe filha então aqui no método init a gente tem que colocar a palavra super abre e fecha parentes para a gente está chamando aqui a classe pai ponto o método init então ele e a gente tem que passar os parâmetros de o Construtor da classe pai vai receber a gente tem que passar aqui os parâmetros que ele precisa receber E aí dessa forma vai ser executado o Construtor da classe pai da superclassic a classe pessoa ele vai salvar todas as informações de nome sobrenome e CPF e depois ele vai voltar aqui nesse código e criar a lista vazia de compras que a especificidade na classe cliente as subclasses ela sempre são mais específicas que a classe pai é por isso que a gente chama o Construtor da classe pai e depois adiciona a especificidade da classe filha da subclass Ok então eu vou é só para gente ver quem entrou no construtor da classe Parque Recreio e o super copo coletor Oi e aí eu vou executar de novo esse corte e não deixa que ele imprimiu aqui entrei no super Construtor mesmo a gente não chamando aquelas pessoas diretamente a gente chamou a classe cliente e aí depois como a classe cliente é uma subclasse da classe pessoa a hora que a gente chama o superh.
net a gente está invocando o Construtor da classe pai hoje ele ficou responsável por citar nome sobrenome e CPF e aí depois ele voltou e criou aqui compras e criou o objeto cliente então se a gente imprimir esse o paif do objeto cliente pode ver se ele é um objeto do tipo cliente e não um objeto do tipo pessoa agora ó presta atenção porque eu queria que tivesse em frente isso comigo quando eu comecei aprender orientação a objetos olha aqui para forma que a estrutura e esse código eu coloquei do lado aquele esse ladinho direito de forma de comentário a posição da execução do código ou seja considerando essa linha 16 com o. Oi Cida Qual é a próxima linha que é executada ou seja qual é a segunda execução essa daqui então todos esses números aqui eles representam a ordem da execução das minhas para você entender bem como que tá funcionando aqui esse conceito de herança então presta atenção porque se você entender isso daqui você entendeu herança é o seguinte partir daqui da linha 16 considerando que ela seja a primeira execução O que ela tá fazendo é uma chamada por construtor da classe cliente a gente sabe que o Construtor é definida que por esse método init então ele está enfocando essa segunda linha tiarinha do Construtor da classe cliente Ok na linha 13 que a próxima linha que é a primeira linha do construtora que dá com acidente ele está enfocando a função super que faz uma referência para super classe da classe cliente e quem é super clássica com as cliente é aquela pessoa e a gente está fazendo super. Emitir ou seja estamos Invocando o a dor da classe pai na classe cliente Então qual que é a próxima linha aqui depois dessa essa daqui tá chamando o Construtor da classe pai que é pessoa e o Construtor da Paz pessoa está definido aqui na linha 2 então a quarta execução essa linha que ele vai entrar no construtor da classe pessoas então ele vai executar aqui o print que a quinta execução vai salvar o valor de nome vai salvar o valor do sobrenome vai salvar o valor do CPF terminou o Construtor da classe pessoa qual que foi a última linha que ele tinha executado ele tinha executado essa linha aqui que a linha 13 que foi a Invocação do Construtor então ele volta aqui a nona execução que após aqui a finalização do consultor pessoa é a linha que queria o atributo de compras para o objeto do tipo cliente então aqui ele fez a construção de um de tudo que era necessário para o cliente porém pertinente ao Construtor a pessoa que ele voltou aqui pra dentro do Construtor da classe cliente e tá adicionando o atributo compras que é uma lista vazia terminando aqui ele vai fazer o que ele vai voltar e ver qual que é a próxima linha Após a execução da construção do cliente então a próxima linha essa linha que querem 17 que a chamada do obtém nome completo nesse caso aqui ele vai verificar se a classe cliente ou serviço objeto da classe cliente contém o método obtém nome completo no caso não tem velho vai procurar na superclasse a superclasse tem que é que a linha Orto então a décima primeira execução é a execução aqui da função obtém nome completo ele vai retornar o nome concatenado Com sobrenome e depois ele vai executar aqui o príncipe cliente então é Essa ordem que esse programa tá seguindo para executar esse código se você entendeu isso daqui você entendeu era bom então se for necessário volta o vídeo aqui algumas vezes porque a gente olha aí só a primeira vista isso acaba sendo um pouco confuso pausar o vídeo e olha aqui todas essas posições quando que isso daqui é executado em que momento e cada uma dessas linhas desse código aqui é executado porque se você entender isso vai ficar muito mais fácil de você utilizar herança e continuar assistindo o vídeo daqui para frente ok então dá uma pausa no vídeo e presta atenção aqui né na ordem da execução nesse código quando você achar que você entendeu Eu sugiro Você tampa aqui essa parte direita do vídeo e tenta escrever você mesmo Qual que é a ordem dessa execução para você também claro qual que faz seu efeito de você ter esse super.
O nome dos metros Ok de verdade isso daqui eu tô dando mastigadinho para vocês é o tipo de coisa o tipo de exercício que se você conseguir fazer agora comigo aqui no vídeo Vai facilitar muito a sua vida como programador Principalmente quando você tiver olhando aqui para códigos de orientação a objeto Ok então eu posso te chamar os métodos da classe Pai a gente utiliza esta sim táxi aqui super abre e). O método. Atributo que você quer trabalhar da classe pai pra sempre assim lembra dessa sintáxi é super abre e fecha parentes.
Um método que você quer evocar e isso funciona Inclusive a gente chamar outros métodos tá isso daí não é somente para o método init isso aqui também serve para chamar esse método aqui também por exemplo se a gente quisesse adicionar alguma especificidade né então agora que eu quero que você faça eu quero que você altere a classe funcionário para que ele tenha esse mesmo formato aqui só que em vez de ter a lista de compras ele tem que ter o selfie. Salário E aí ele vai receber também o salário como um parâmetro do Construtor aqui da classe funcionar Ok então deixa eu escrever o exercício rapidinho para ficar mais fácil então altera classe funcionário para o Construtor da superclasse E além disso receber a informação de salário no seu objeto falso vídeo e continua alteração aqui dessa classe funcionário para que você entenda para que você pratique a utilização aqui desse super Eu espero que você tenha conseguido e agora a gente vai fazer junto Então como que a gente faz isso eles têm que definir o método construtor da classe funcionário então DF frente ele tem que receber também todos os parâmetros se uma pessoa recebe porque ele herdou ser dor daquelas pessoas que ele tem que garantir que ele é no mínimo uma pessoa mas além de ser uma pessoa Ele também é um funcionário E para isso ele precisa receber me falar então além dos atributos nome sobrenome e CPF a gente vai ter aqui o atributo salário também e aí para a gente chamar o Construtor da classe pai da superclasse que a classe pessoa pra gente utiliza que super abre e fecha parentes pontos emitir abre parentes e passa aqui nome sobrenome e CPF de parâmetro aqui para o Construtor da classe parte desse jeito a gente já tá chamando aqui todo esse código que é responsável por salvar nome sobrenome se perde Mas além disso e agora aqui no salário então a gente tem que salvar aqui no objeto funcionário o salário dele o céu salário é igual a falar EA gente consegue criar um objeto funcionaram desbloquear e o não é igual a funcionar ele tem que receber todas as informações aqui também por aqui que os o nome do funcionário José Augusto e o salário do José Augusto ad5000 e com isso a gente consegue executar o código pode ver que ele imprimiu aqui em treino no super Construtor duas vezes por causa que seria entrou na construção do objeto cliente que esse primeiro objeto aqui ele também entrou no super consultor que o consultor aqui daquela pessoa para o objeto do tipo funcionar e a gente pode imprimir aqui também funcionário pontos falar e já que ele vai retornar para a gente o valor de cinco mil que foi o quê bom Então veja que a gente conseguiu quiabo três classes onde uma superclasse que a classe pessoa e duas são subclasses que reaproveitam toda o com todo Construtora aqui da superclasse salvar as informações de nome sobrenome e CPF e o Espero que até essa parte aqui Seja claro para você então eu vou limpar um pouquinho código eu vou tirar esse print aqui para ficar mais fácil da gente conseguir focar aqui eu vou tirar também esse exercício que a gente criou Então bora fazer uma revisão rapidinho a gente viu fica uma herança a gente consegue estar muito a duplicação de código que a gente consegue ter uma classe que é comum a várias outras Então a gente tem a classe pessoa que é como uma classe cliente e é comum também a classe funcionário a gente consegue através da herança criar um relacionamento entre essas classes que a gente tente isso tem como consequência a gente conseguir reaproveitar código que ajuda a gente muito nossos Tentação do sistema que a gente constrói no dia a dia e Oi gente viu para a gente fazer essa herança tudo que a gente tem que fazer é ali na assinatura na construção da classe da subclasse que vai ter herança falar qual vai ser a superclasse dela ou seja de quem ela vai herdar os atributos e os métodos muito simples e a gente viu também que a gente consegue chamar métodos da classe pai ou seja da superclasse utilizando Assunção super E aí através do da função super ou seja super abre e) ponto a gente consegue fazer a Invocação dos métodos dessas classes em que a gente fez a herança ou seja através da classe filha a gente consegue chamar os métodos da superclasse Beleza agora a gente vai aprofundar um pouquinho mais na parte dos métodos onde a gente vai aprender implantar alguns métodos com uma especialização um pouco diferente nas subclasses Mas você tá gostando do vídeo já se inscreve no canal e deixe seu like porque isso super importante para a gente então bora lá ver a continuação aqui de como que e o que que eu quero fazer aqui na classe funcionário a gente vai implementar um método que é calcula o pagamento esse método calcula pagamento ele vai pegar o salário da pessoa e subtrair 10 por cento do valor desse salário que seria pertinente atributos por exemplo Óbvio que não é esse cálculo tá galera mas eu só pra gente ter como exemplo aqui tem um funcionário ele vai ter o seu pagamento efetuado sendo o valor desse pagamento o valor do salário -10% desse salário que é o tributo que ele vai ter que pagar nem seja de Imposto de Renda não é só um exemplo aqui para a gente ter claro como que a gente pode utilizar um pouco melhor Irã os métodos aqui na áreas Então vou criar o método aqui chama calcula pagamento ele tem que receber o objeto ou seja funcionário em questão e só esticar que a gente não precisa de nenhum atributo mais esse método ele vai retornar o valor do salário -10% de e ele vai pagar em atributo então 10 dividido por cento você tiver por cento vezes aqui o valor do salário no caso tá faltando gente colocar selfie Tom claro né porque isso é pertinho objeto vamos falar então é o valor do salário -10% do valor do salário é isso que isso que um funcionário vai receber nessa empresa OK e a gente consegue eu vou tirar aqui essa parte de crente vou deixar conectado aqui precisa né e vou passar essa parte de funcionar porque tranquilo OK agora ver se a gente chamar aqui é funcionário com salário eu vou chamar funcionário. Calcula pagamento e ver o que isso retorne então o pagamento do José Augusto é 5.
000 -10% de 5. 500 ou seja 5000 - 500 ele vai receber quatro mil e quinhentos reaes e o próximo são funcionam e ele tem pega aqui o seu pagamento é efetuado ao agora a ótica que a gente vai olhar em cima desse problema aqui é da especialização ou seja quanto mais herança a gente tem mais específico ficam objeto que fica eu quero dizer com isso imagina que a gente tem um funcionário que ele é um programador e por ele ser um programador programador o salário dele é calculado de forma diferente ele tem esses dez porcento de desconto aqui porém ele recebe um bônus de 300 reais só por ele ser programador porque a vida de programador ela é fácil assim com certeza então o que que eu vou fazer como agora eu quero um funcionário mas é um funcionário querendo ti programador eu vou criar uma outra classe que é o funcionário que é um programador então a classe chamada programador e esse programador Ele também é um funcionar que também é uma pessoa então ele vai ter a herança aqui para a classe E aí Tá certo porque o programa abre também é um funcionário da empresa e aí tudo que ele já recebe aqui ele ele vai ter nome ele vai ter sobrenome vai ter CPF vai ter salário todo método construtor de um funcionário ele vale também para um programador então quê que eu preciso fazer eu vou implementar aqui o construtor de programador e o que ele vai seguir ser bem tudo que um funcionário recebe Mas além disso ele vai receber também bônus então ele tem esse selfie nome sobre nome CPF e ele vai receber salário porque os funcionários falar mas ele também tem bom beleza no caso aqui a gente tem que chamar o super para ele cê tá aqui todas as informações né então super ponto é que isso e a gente tem que passar todas essas informações aqui de nome sobrenome e CPF e salar para a classe pai então quê que está acontecendo aqui o programador vai chamar a sua superclasse que a classe funcionário E aí ele vai chamar o Construtor da superclassic ele vai chamar aqui a pontinha super. Anderlaine Anderlaine Nina Anderlaine ele vai chamar o Construtor da sua classe pai que a classe funcionário E aí a classe funcionário ela vai chamar o Construtor da classe pessoa porque a paz pessoa é a superclasse aqui da classe funcionário E aí a classe pessoa vai sentar o nome sobrenome do CPF depois ele volta e a classe funcionário vai sentar o salário E aí depois ele volta aqui e a calça o programador tem que fazer o que ela que você tá o dólar porque o programador ele tem bons Nossa a gente ver aqui agora criar um programador só para ficar mais rápido eu vou trocar esse daqui para programador e ele fez aqui tá aqui eu erro que aquele deu aquele tá faltando que tá falando que tá faltando bônus estão faltando colocar aqui o bônus de alguém buscar o gravador que é um bônus de 201 bom Então veja que a gente já conseguiu fazer a criação agora do José que é um programador e esse programador ele é um funcionário que também é uma pessoa desde que a gente foi cascateando aqui a herança dessas classes só que qual que é o problema que tá acontecendo aqui a gente está chamando o método calcula o pagamento utilizando um objeto que é do tipo programador se gente imprimir aqui e não se Parque pelo gravador a gente consegue ver que o tipo de seu objeto é do tipo programa é o que que acontece quando ele tenta chamar o método calcula o pagamento ele ver que a classe programador e se não tem esse método declarado então ele procura na sua casa pai ou seja ele vai ele vai procurar onde na classe funcionário ele Verifica a classe funcionário tem um método cálculo calcula o pagamento tem então ele retornou para a gente aqui o resultado do método calcula o pagamento que está implementado dentro da classe funcionário ou seja e funciona perfeito o que não funcionou de fato é que o cálculo do pagamento de um programador é diferente porque além desse cálculo que a gente tem aqui pro pagamento de um funcionário qualquer da empresa ele tem um bônus de 200 reais então o que a gente tem que fazer a gente tem que expandir esse método calcula pagamento a gente tem que especificar ele para o que é o cálculo pagamento de fato de um programador então o que que a gente pode fazer aqui a gente vem aqui e definir o método calcula o pagamento por um programador receber o Celso também mesma coisa E aí a gente tem que o salário de um programador é o salário de um funcionário normal então a gente pode neste falso.
Calcula o pagamento Ou seja eu quero que ele calcule o pagamento como se ele fosse o funcionário Não normal É pagamento salário é igual a esse cálculo E aí eu vou o pagamento de um programador é esse pagamento do salário mas selfie ponto bolos isso daqui sim é o pagamento do salário de um programador Então veja que ele vai ter o cálculo do salário realizado como é de um funcionário qualquer Por isso que a gente faz super. Calcula o pagamento e aí a gente pega a informação de retorno aqui da classe funcionário que está retornando Esse valor já calculado aqui do salário de um funcionário qualquer e depois a gente toma os r$ 200 de bônus e foi passado pequeno construtor de programador e agora quando a gente executar esse código investir e retornadas 4. 500 ele tem que retornar 4.
700 porque na verdade como José é um programador ele recebe falar mais o bônus dos óscares Então veja usar e veja aquele retornou 4.