e Salve salve deve Paulo aqui para mais um vídeo sobre orientação a objetos e nessa aula vamos falar sobre métodos Então a primeira coisa que é importante é que você já saiba perfeitamente como utilizar classes criar objetos dessas classes e manipular os atributos das classes em dos objetos Se você não souber isso essa é mais uma aula da nossa playlist aqui de orientação a objetos eu vou deixar aqui na descrição no comentário em algum lugar o link da playlist para você voltar nesses assuntos caso você ainda tem alguma dúvida beleza e uma presta atenção eu vou deixar aqui na descrição ou nos comentários alguns links como materiais de apoio do que a gente está executando aqui para que você não tem que escrever o código interior de novo e também com a solução de alguns exercícios que a gente vai propor de sal e a primeira coisa que vamos fazer É e aqui para o código e eu quero te mostrar Da onde vem a necessidade da gente criar metros favor ao a primeira coisa que a gente tem essa classe aqui que eu já deixei o código escrito para gente mas já abri sobre o teu notebook aí eu a interface você utiliza para programar porque essa aula quero que você faça bastante exercícios é para gente revisar um pouquinho que a gente viu nas últimas aulas e também para a gente aplicar aqui tudo que você for aprendendo sobre método para ficar em uma dúvida então primeiro exercício que eu quero que você faça aqui com esse código é calcular o valor do lucro de um produto Então você vai ter que fazer o que você vai ter que instanciar um produto com o valor de custo e o valor de venda e depois você vai ter que calcular o lucro e imprimir o lucro desse produto Beleza eu vou escrever o exercício aqui para ficar mais fácil para você Ah beleza então o exercício tá escrito aqui posso vídeo e faz e rapidinho não é para levar mais do que cinco minutos para fazer isso daqui Se tiver tudo certinho com vasos e objetos e se você não conseguir fazer o seu um forte indício de que você precisa voltar nas outras aulas para entender bem o que são classes e objetos e como manipular eles mas agora vamos fazer o exercício junto então eu vou tirar com produtos que eu vou chamar de mano vou salvar o avariado chamada celular então celular é igual para criar o objeto a gente tem que utilizar o nome da classe vou verificar com três maiúsculo aqui abre parentes e dentro do parênteses a gente tem que passar os parâmetros aqui que a classe é receber nem me seguiu selfie é o próprio objeto então o pai Então na hora que a gente faz esse abre e fecha parentes ele já tá passando do self implicitamente aqui o método Construtor mas a gente tem que passar o valor de custo eo valor de venda uma para ficar bem claro vamos passar esses forma nominal é um valor de custo vai ser 80 reais e o valor de venda vai ser igual a r$ 100 ótimo agora já vão executar esse código para gente ver se não tem nenhum problema lá compreender eles executou e surgiu um que o objeto a gente ter certeza que ele tá criado objeto a gente pode fazer aqui celular. Valor custo e ele imprimiu aqui em casa para gente tomar um objeto está quieto agora para gente calcular o lucro desse produto que a gente tem que fazer celular ponto para gente acessar os atributos do objeto celular né e o Lucas vai ser dado pelo valor de venda menos celular volto valor custo e aí a gente pode imprimir tipo assim formatada eu vou deixar um card aqui em cima do vídeo caso você não saiba utilizar esse trem formatado então o outro de lucro é dele a chave celular na verdade aqui nós agora é só eu e a gente pode comer pão ele conseguiu trazer aqui para gente que o lucro desse celular aqui foi de gente fala os porcos as correções no rs, zero zero o esporte agora essa variável lucro ela também pode ser um atributo do objeto celular então a gente pode ter aqui celular ponto lucro e isso vai ficar salvo no objeto celular tão aqui na frente a gente consegue imprimir celular conto louco e continua funcionando tudo certinho agora veja aqui todo produto que a gente for criar ele vai ter essa mesma lógica aqui para ser calculado o seu lucro então é um pouco repetitivo a gente tem que ficar escrevendo o valor de venda menos o valor de custo para todo objeto que foi criado sobre essa classe Porque existe uma funcionalidade muito específica que a gente precisa quer efetuar o lucro de um produto que foi criado com ela e aí começa a surgir a necessidade do método quando a gente consegue reaproveitar funcionalidades de um determinado objeto que é o que é chamado de método então o método nada mais é do que uma função pertinente a um determinado objeto ou a classe Agora eu quero que você faça mais um exercício mas antes da gente continuar eu só vou tirar esse, zero zero e colocar aqui a formatação correta de se tem formatado que a gente vai receber aqui o número né que está a salvo dentro da variável lucro e a gente depois dos dois pontos mas devia formatação que deve ser empresta esse número EA formatação que a gente quer aqui é que após o ponto a gente quer ter duas casas decimais duas casas de flores então fica: ponto do esep essa simpatia que indica que quando a gente imprimir o está salvo dentro da variável lucro ele vai colocar sempre duas casas decimais após o após a, que após a casa decimal não vai imprimir de novo mesmo que ele colocou aqui continuar mantendo os dois Eros mesmo sem a gente de 1,00 e da gente colocasse aqui por exemplo, ponto 03 né não seja o curso perdido 0351 ele continua lanterna as duas casas decimais do valor e se tivesse, zero zero não daria Tão certo então é isso que eu quero que você faça agora é criar uma função que calcule o valor do lucro recebendo essas informações de valor de venda e valor de custo do objeto celular que a gente acabou de criado então foi escrever exercício aqui ó eu crio a função que calcule o valor do lucro baseado no valor de venda menos o valor de custo São Paulo vídeo implementa essa função aqui que retorna o lucro para gente bom então a primeira coisa Lembrando que as funções no bairro ela é criada da seguinte forma gente tem que utilizar a palavra reservada defe espaço o nome da função aula chamar aquela de calcular duplo (e dentro do parênteses a gente vai receber os parâmetros que vão ser utilizados para executar sua lógica sobre caso a gente tem que ter aqui o valor de custo e o valor de venda em E aí depois a gente coloca: que o código dela precisa estar inventado abaixo aqui do defe Olha a gente tem aqui já na minha 12 assinatura da função calcula lucro Tem uma função tem que ser o valor de custo e o valor de venda e o que ela faz é calcular o lucro então ela vai retornar o que o valor de venda menos o valor de custo agora a gente vai fazer a Invocação dessa função Então em vez da gente fazer o cálculo de forma manual aqui na minha 16 como a gente sabe que a gente sempre vai ter que repetir essa função aqui essa esse tipo de conta eu vou substituir essa linha pela chamada na função que já vai calcular o valor do lucro para gente então aqui vai ficar um como calcular lucro abre parentes o primeiro paramos que ela tem que receber outro parado nominal e o valor de custo é igual a celular. Valor curso e ela tem que receber também o parâmetro valor venda é igual a celular.
Valor de venda quebrar aqui duas linhas e agora em vez a gente aplicar o cálculo aqui de direto na linha 16 como estava antes a gente está fazendo a chamada dessa função para realizar o cálculo do lucro e na hora que eu executar de nossos ela top estar contra o Inter aqui para rodar essa sala o Júpiter veja que ele continuou executando o cálculo concepção alterar aqui o valor de custo a 90 por exemplo ele vai ter que alterar aqui que falaram que o lucro é de 10reais então agora a gente conseguiu em vez de colocar a a fórmula direto aqui para fazer o cálculo do lucro como é algo que a gente teria que fazer para todos os produtos a gente encapsulou isso dentro de uma função e agora chegou a grande hora da gente entender como que a gente transforma é e em um método que é o pertinente ao objeto Então o que eu quero que você faça agora é comparar o método init com essa função calcula lucro o que tem de diferente nessas funções Então não precisa escrever código nem nada só quero que você pode o vídeo e faça uma reflexão aqui do que tem de diferente entre esse método init que já é a um método uma função uma funcionalidade pertinente após produto aos objetos da classe produtos e a função lucro que é uma função que pode ser utilizado por qualquer classe do nosso sistema por qualquer objeto e qualquer coisa que consiga passar o valor de curso de Vargem Alta a principal diferença entre elas e tem duas grandes diferenças entre a função e esse método doente A primeira é que ela está inventada aqui embaixo da classe produto isso significa aqui isso daqui é uma funcionalidade somente dessa classe então outras classes não conseguem acessar esse método EA Segunda grande diferença que a gente tem aqui é esse parâmetro selfie que é um atributo do próprio objeto veja que na declaração aqui a gente sempre fala selfie ou seja o objeto. O atributo do objeto que valor custo é igual a esse carinha aqui e depois a gente consegue acessar pelo objeto o valor desse atributo então celular. O valor custo e no caso da função a gente não tem esse selfie porque ela não é pertinente a nenhum objeto Então como que a gente faz para transformar essa função aqui um método do objeto é muito simples eu vou apagar o exercício aqui só para não atrapalhar a gente O que que a gente tem que fazer primeira coisa a gente tem que fazer a implantação dessa forma a gente já tá e ela pertence à classe produto agora que tá faltando aqui nessa função tu tem de diferente atinente a gente já viu que é o selfie e em vez da gente precisar receber os parâmetros valor custo e valor renda a gente já tem esses dois valores aqui salvos Núbia concorda Então se aqui na função cálculo para a gente já tem o self ao próprio objeto e o próprio objeto ele já tem o valor de custo ou valor de venda esses parâmetros aqui eles se tornam desnecessários porque objeto ele já Conhece essas informações só que aqui na minha horta gente ainda tem que alterar mais uma coisa porque valor venda e valor custo não existe nesse contexto aqui dentro da função o que existe é selfie ou seja o objeto o atributo o valor venda do objeto então pra gente acessar o atributo o valor de venda do que a gente tem que colocar selfie.
no a legenda e aqui a mesma coisa selfie. Valor custo e agora nesse momento a gente pode vir aqui e pedir para ser executado o calcula louco toque do celular que foi o objeto que foi criado e para a gente fazer isso a gente coloca celular. O nome do método que a gente quer invocar vamos executar de novo ele continua dando erro Vamos ver que ele tá falando ele tá falando aqui que ele recebeu um argumento inesperado E por que que você acha que ele deu este erro se você parar para executar aqui esse código da linha 11 e a definição da função da linha 7 qual é o problema que está gerando esse erro que possa o vídeo e reflete Por que que está acontecendo o motivo disso tá acontecendo é muito simples porque agora assinatura aqui do método na linha 7 não espera mais os argumentos valor custo e valor venda porque essas informações já estão no objeto céu então a gente pode vir aqui e apagar esse paramos que a gente estava passando antes para função cálculo e agora na hora que a gente Executar a gente volta ter o valor do lucro funcionando perfeitamente e agora qualquer produto que a gente criar utilizando essa Classe A gente já tem um método pronto responsável por fazer o cálculo do lucro veja que quando você faz celular.