alô galera do torna-se um programador bebida mais uma aula meu nome é danni no e hoje a gente vai pra aula seis falando sobre sharp né com o assunto de funções é legal então a gente vai entender ele como é que funciona a estrutura de uma função qualquer os tipos que a gente vai utilizar qual que são todas as palavras que formam uma função como quem utiliza blocos e retornos nessa função legal então vamos lá legal pessoal basicamente a função é formada por esta estrutura o local onde ela vai está tá o tipo de o
tipo desta variável nessa ela vai ser estática ou não o retorno que você vai utilizar para a sua função qual que é o nome da sua função e qual que são os parâmetros que você vai utilizar para sua função legal então eu separei gente cada pedacinho desse daqui pra explicar pra vocês como que funciona essa estrutura legal é basicamente à sintáxi de como que escreve uma função seria mais ou menos assim ó público estética e vou executar strong teste que seria um parâmetro ou publique int calcular com os parênteses sem o parâmetro ou quem de
calcular sem os parâmetros legal é outra coisa que a gente utiliza então na função são os blocos que são a chave está e os tipos lá que o retorno é se tem retorne ou não de algum dado tá legal bom é esses dois tipos aqui o tanto local quanto o tipo ele não são eles não são obrigatórios está tão não obrigatórias porque eles não são obrigatórios porque você pode criar uma função sem ter o público que esse inteiro estética está por exemplo essa função em de calcular ela não tem nenhum e nem o outro tá
nessa outra função pública íntimo você não tem ali o instante que você tem somente o local e o retorno da função tá legal então esses dois itens aqui não são obrigatórias é uma outra forma que você pode criar ali função é colocando lá dessa forma aqui né ela como public ela como estática ela como privada ela como protegida e eu vou falar pra vocês todos esses tipos também uma outra coisa bem interessante gente é o que normalmente quando você vai ver um código e sharp as pessoas não programam dessa forma aqui ó é muito difícil
você ver ali alguns software nessa algum alguns programas onde a pessoa não declara se ela é panic selling estático não é público é privadas ela interna o que ela é tá normalmente quando você vai ver uma função no sharp você vai ver mais as funções que são pública estética ou publique em alguma coisa tá a função que não tem nem se é público não normalmente você não vê mas uma coisa interessante se você não coloca o tipo dela um local na realidade né e o tipo dela o que acontece quando você não coloca o local
ele vai entender automaticamente o que essa função aqui é pública tá e se você não coloca o tipo automaticamente ele vai entender que não é estática tá se você coloca o tipo estética e ele vira estática celina você não coloca ele não vira estética é uma coisa que vou falar pra vocês é essa parte de estático e não estático eu vou explicar para vocês mais esse detalhe quando a gente for lá pro computador executar isso aí tá então nesses tipos aqui que eu separei no local ou seja o local aqui onde está nossa vale a
nossa função ela é formada por esses tipos aqui ó local eu posso ter um local público tá que publique posso ter um local privado possa ter um local interno e posso ter um local protegido ou seja local publique se eu não colocar local nenhum ela automaticamente fica público tá e aí o local público que está falando que quer uma função pública ou seja uma função que seu transformar o meu programa libby qualquer um vai conseguir acessar essa função tá a função privada já ela é e no escopo do meu programa tá então é privada simplesmente
para o meu software ou seja seu transformar isso em um álibi ninguém vai poder acessar tá o interno ele funciona simplesmente pra toda a parte do meu nome space tá eu vou explicar para vocês também o porto o que é o nome space um pouquinho de não respeitar mas o que acontece quando você utiliza utiliza interno ele é somente para o seu nome space eu vou falar bem disso também quando a gente vai entrar em orientação a objetos e o protegido ela é protegida simplesmente no seu programa ela fica proibida em todo o seu programa
hoje porém ela é protegida por aquele seu problema você vai entender também quando entrar ali e orientação a objeto é legal outra coisa que a gente tem gente é o nosso tipo né o tipo aqui ó então o tipo é se você vai utilizar estático ou não estático legal se você vai criar uma função que seja estática a única coisa que você precisa fazer é colocar o tipo estética e quando você está declarando a função se você não quer uma função não estáticas você não quer uma função estática você simplesmente não coloco tipo porque ele
não é obrigatório é legal é outra coisa que a gente tem é o retorno né os tipos de retorno que a gente utiliza pra nossa função esses tipos são foi de que é o que eu quero uma função que eu não vou retornar nada tá então esse foi dieta ligado diretamente com o retorno da minha função tá se eu não sei estou utilizando void eu não vou ter o retorno na minha função se eu não estou utilizando void eu tenho que retornar de acordo com esse meu retorno da minha função ou seja se eu criei
uma variação uma função pública e imt calcular eu vou ter que ter um retorno do que de uma variável inteira ou de um dado inteiro tá legal então esses dois aqui o retorno eu retorne esses dois aqui é o retorno que os tipos de retorno e o comando retorne trabalham além casado está nesses tipos aqui de retorno você tem o que o inteiro você tem um stream que você tem o domo você tem o boi ano e você tem todos aqueles tipos que eu expliquei pra vocês na aula de tipos lá é de tipos de
variáveis na hora de chave então todos aqueles tipos de variáveis você pode utilizar como retorno da sua função legal outra coisa que a gente tem é o que é o nome da função né então o nome da função é o que é o nome que você vai dar simplesmente para a tua função tá então o nome que você vai dar ali pra sua função legal esse é o nome dela outra coisa que a gente tem o que os parâmetros da função tá então os parâmetros da função você utiliza o que sempre o tipo do parâmetro
ou seja nesse caso zac extingui e depois o nome do parâmetro nesse caso aqui teste né então tipo do parâmetro o nome do parâmetro se você vai colocar mais parâmetros aqui dentro você colocaria vírgula o outro parâmetro por exemplo imt é sei lá eu vou colocar aqui teste 2 tá então aqui seria um outro parâmetro e eu fecharia depois aqui o meu amigo meu parentes nem tão um parâmetro tipo o nome tipo vírgula tipo nome vírgula tipo nome então teria três parâmetros na minha função nesse caso aqui eu tenho dois nem tão tipo nome tipo
nome dois parâmetros separados por vírgula é assim que você monta ali os parâmetros da sua função legal o pessoal criando um pouco da sintáxi para vocês entenderem como é que funciona a função eu vou apagar um pouquinho aqui tá e vou criar uma função aqui com com estática tá não vou criar uma função estática pra mostrar pra vocês como que funciona ali uma estrutura de uma função tá ficaria mais ou menos assim publique esthetic e aí o tipo dela quer um inteiro tá quente calcular essa função aqui eu não vou colocar parâmetros então vou abrir
aqui fechar meu parênteses vou abrir meu bloco tá dobre o meu bloco que a minha chave e vou fechar o meu bloco aqui embaixo legal e aí eu preciso então se eu criei uma variável que é o principal variável é uma função que eu preciso de um retorno então eu tenho que automaticamente colocar aqui a palavrinha retorne né ou seja o retorno que eu voltei para essa minha função e se calcular eu posso simplesmente fazer uma variável somando com outra então posso colocar aqui ó é igual a um ponto e vírgula o bê é igual
a 2 ponto e vírgula e aí no meu retorno eu posso fazer assim você é igual o a mas o bê ok e aí o retorno os e que esses três aqui são inteiro né aqui ó 2020 e 20 não tem três variáveis inteiras a a a b ea c jogam atributos valores nelas de 12 de um e dois né e somo o a eo b jogando dentro da variável c retornando à variável c esse é um exemplo de uma função básica aqui utilizando ali o retorno tá agora se eu tenho uma função da mesma
forma que essa função aqui ele é void é uma função que eu não tenho retorno tá então não tenho retorno se eu não tenho retorne a única coisa que eu tenho que fazer é executar mostrar alguma coisa na tela então teria aqui ó o console ponto right online o valor que eu quero que seria o valor de ser legal então seria mais ou menos isso daqui né o valor de ser eu tenho uma função foi de que um retorno nada porém eu já escrevi na tela o estética aqui gente é o que se você está
utilizando ali o programa console algumas das suas funções vai ter que ser estático porquê porque o programa console ele utiliza todas as funções como estáticas quando se está fazendo um programa é a maioria das vezes você pode utilizar o estático ou não tá a diferença básica do estático é o que quando você utiliza o estático você não cria uma instância ou seja você não reserva um espaço na memória só para aquela sua função ela fica uma função global onde todo o seu sistema pode alterar ou isto vai ficar muito mais claro para vocês mostraram na
execução na lousa que é um negócio que não dá pra explicar tão perfeitamente mas vou mostrar pra vocês a diferença do estático não quase ali chegando e orientação a objeto mas você vai entender melhor perfeitamente o conceito de estático quando você for ver orientação a objetos e achar legal mas basicamente essa estrutura de uma função é essa função é o que ela serve pra você fazer ali uma líbia ou fazer alguma dizia pra poder retornar pra você é algo que você precisa então por exemplo eu queria ali um programa e esse programa precisa calcular pra
mim o valor da média tá eu posso criar uma função chamada média e aí essa minha função simplesmente vai lá e vai calcular esse dado pra mim retornando o valor está se eu faço isso eu posso chamar dentro do meu programa vários lugares a mesma coisa sem repetir o meu código então toda vez que vou criar uma função eu quero retornar o meu código para deixar o meu código mais enxuto tá e sem duplicidade é pra isso que serve uma função legal então gente a gente vai ver como criar uma função agora lá no computador
vai executar esse daí fazer passo a passo de como funciona tudo isso é tudo que tudo isso é que eu expliquei pra vocês aqui na lusa então vejo vocês lá no computador é legal o pessoal já no computador então a gente vai ver na prática agora como que funciona uma função legal então gente a primeira coisa que a gente vai fazer então quando vai criar uma função é falar ali os tipos dela né tá só se vocês notarem aqui ó vocês vão ver que vocês vão ter uma espécie que é aquilo que eu falei pra
vocês lá no quadro né quando você vai usar o interno você tem aqui com a classe ea classe você não está falando que é público não tá nessa classe ela estava vazia e você tem aqui uma função tava vendo esse aqui é uma função basicamente uma função bem que ela tem ali um parâmetro militar não é uma função estática que ela não tem retorno nenhum o nome dela é bem tá vendo nos parâmetros dela eu tenho aqui uma string um a rede stringhi que o nome é a aig está então é assim que funciona uma
função eu vou criar uma função nova o que eu posso fazer aqui ó definir qualquer local dela eu quero deixar ela public eu posso colocar ou não tá então no caso aqui como a função aqui é estática eu tenho que seguir também o static tá tão esthetic tá e aí o tipo que eu quero fazer vou retornar ali é inteiro tá então retornar aqui um int então esse retorno ea minha função chamada calcular tá nessa função calcular o que eu vou fazer eu vou criar as variáveis que eu falei pra vocês lá dentro então criei
o meu bloco tá tão pouco meu bloco e aí eu vou fazer a os dados pra minha função notem que se vocês colocarem o mouse em cima aqui ó ele vai falar que você precisa de um retorno ela calcular não tenho retorno então você precisa de retorno quando você colocar retorne aqui ele já vai automaticamente tirar o tracejado aqui de vermelho tá então retorne de zero por exemplo que é um inteiro ele já tira o tracejado ou seja sua função passou a funcionar tá é agora eu vou fazer o seguinte cálculo alguma coisa então int
a variável a é igual a um tá e enche a variável b é igual a 2 e imt a variável c é igual a mais o bê ok e aí eu vou retornar aqui o c ou seja acabei de fazer uma função que retorna alguma coisa tá tão nesse meu método estático aqui ó eu estava brincando com vocês na semana passada explicando como é que funcionava toda a estrutura lhe dê a reestrutura de de colégio né então eu vou apagar esses dados aqui tá vou deixar simplesmente agora com os dados da minha função é legal
então salvei aqui o meu programa e agora vou utilizar a função calcular olha só que interessante quando começa a digitar aqui ó cauê ele já mostra pra mim o calcular tá vendo e aí eu posso simplesmente aqui mostrar na tela isso como eu faço eu dou aqui um console tá até para escrever na minha tela ponto light on line e aí o que eu quero mostrar a minha tela que é o valor de calcular como ele recebe aqui uma string e eu estou mandando uma inteiro e deixa ele recebe também um objeto ele recebe também
um objeto aqui dentro então eu posso deixar o calcular que ele vai saber se virar bonitinho então fiz isso agora eu vou colocar o break point aqui em cima e aí vou mostrar pra vocês então como que eu vejo todo como vai funcionar a minha função tá vou rodar aqui a minha própria o programa está compilando né legal programa compilado então ele entrou aqui no meu nem tá então entrar no meu bem o que eu vou fazer aqui eu tenho dois passos aqui eu tenho um espaço que é o e para o próximo passo é
que é seguir o próximo passo e tem um aqui que é o step into é o step into ele vai entrar dentro da função ele é bem utilizado quando você vai fazer ali você vai depurar uma função você tem duas formas ou você coloca um break point dentro da sua função ou você usa o estepe pinto que é esse é esse botãozinho aqui do editor do do visual studio então eu vou clicar aqui no step into ele vai entrar na minha função também entra na minha função agora eu passo por passo declarou a declarou b
somou a um bebê que deu valor de cerca 3 e ali eu do próximo que ele retorne aqui pro meu comando e laine havendo e agora que ele retornou como design eu mostro na tela o resultado mostrando aqui o valor de 3 o que então declarar a minha função e executei a minha função ou seja eu fiz algo que sirva pra mim e que depois eu posso utilizar deu o calcular eu poderia fazer o quê também uma função void por exemplo ou se eu não coloquei ela como pública que eu posso colocar também é pública
e está esthetic e vou colocar aqui ó mostrar a mensagem na tela tá uma coisa a gente quando expliquei pra vocês é o seu xará pe ele utiliza o tipo de dado é pascal case está o que é o pascal case você tem ali o cameo case você tem um underline você tem um pascal que existem são tipos de desenvolvimento está a partilha de códigos tá então o que é esse partir de código que eu vou que eu vou falar para vocês agora é isso aqui é toda vez que você vai criar uma função nos
e sharp normalmente os desenvolvedores do chape utilizam à sintáxi do pascal que está então eu vou colocar aqui ó paz pascal case ih tá ou seja o número com a letra que você vai ditar o nome da sua função o nome da sua variável você coloca com primeira maiúscula segunda maiúscula o caminho é o case normalmente a galera utiliza como minúsculo comércio né kamel case tá ou seja isso daqui é mais utilizado lá pra quem está trabalhando com java ou java street tá e você tem também o underline que seria o under laine que é
bem utilizado para funções quando você está criando com ruby tá então você tem ali algumas formas de você criar ali as suas funções da os nomes é como é que você cria os nomes das suas funções então esses nomes aqui esses tipos aqui esses partnership de programação normalmente é utilizada quando você vai criar uma variável um nome de uma função o nome de uma classe está então nos fechar sempre lembrar de colocar dessa forma a calcular por exemplo soma olha como é que ficou aqui a minha função calcular soma a nota que o meia que
ele faz da mesma forma tá vendo então ele coloca ali a primeira maiúsculo caso se você tivesse trabalhando em java o normal do pessoal é colocar como calcular soma ou seja o começo aqui minúsculo kamel case e não para conquistar como a gente está falando disse sharp a gente utiliza então o pascal que está nesse caso mostrar mensagem na tela ok e aí o que eu vou fazer como essa função é verde e simplesmente dom console com o papa o console ponto right on line ok e aí eu coloco aqui o valor que eu quero
fazer olá pessoal tá o que eu fiz aqui criei uma função mostrar na tela porém eu não chamei ela ainda tá então se eu executar o meu programa que agora vocês vão ver que a única coisa que ele vai mostrar é o número 31 mostrar na tela olá pessoal na realidade né não mostrou aqui pra mim ok como eu faço pra mostrar o ou mostrar na tela eu posso simplesmente executar ele aqui ó ou seja chamar a função que eu preparei né aquele objetivo lá que ele naquele é elemento que eu criei para utilizar depois
então a mostrar na tela chamei a minha função void ou seja eu não tenho retorno nenhum tá já o calcular seu chamar ele dessa forma aqui ó ele já não vai funcionar legal porque porque ele tem um retorno então se ele tem um retorno você precisa de uma variável para receber esse retorno entendeu então int retorno é igual o meu calcular soma e aí eu posso utilizar aqui a variável retorno também por que então essa é a diferença de quando eu tenho uma função que tenham retorno e quando eu não tenho tá se eu colocar
o público aqui vai mudar alguma coisa não não vai mudar nada ta porque não vai mudar nada porque o público nesse caso aqui ele se ele coloca se você coloca o public ele vira público se você não coloca ele também não via pública está é é se você que na realidade se você coloca ele vira publique se você não coloca ele permanece pobre nesse caso então até essa classe aqui é público e por que você simplesmente não definiu o local dela tá legal então eu fiz isso daqui agora vou executar de novo programa pra vocês
olharem executando olá pessoal agora passou a mostrar ou seja crie uma função para mostrar na minha tela eu poderia criar uma função por exemplo para mostrar a tabuada 2 tá então como é que eu faria isso colocar aqui eu criaria uma função na realidade eu criar uma função que eu posso digitar de parâmetro qual que é a tabuada que eu quero olha só como é que vai ficar legal isso aqui crie uma função e coloco aqui o tabuada e eu coloco inteiro do número que eu quero número então criei um parâmetro aqui para o número
que eu quero utilizar pra mim tabuada e aí eu simplesmente faço aqui um forte vou fazer um for começando com um 20 igual a um ok o parente igual a um menor do que 10 está menor ou igual a 10 né eu quero que ele vá até dez e mais mais ok criei aqui eu posso mostrar na minha tela no meu console pontuou light on line a minha informação da tabuada ou seja o valor que eu digitei valor que eu mandei pro parâmetro concatenado com vezes ok concatenado com o meu e concatenado com as aspas
igual concatenado com a multiplicação dos dois número vezes e não fiz isso daqui eu já tenho uma função ali pra calcular pra mim mostrando a tabuada de um número que eu passei ok então agora vou executar a tabuada eu vou simplesmente depois do meu mostrar tela aqui ele é uma uma função foi de então no retorno nada a única coisa que eu tenho que fazer é passar um parâmetro ok então vou colocar aqui tabuada e vou passar um parâmetro eu quero a tabuada sei lá do 9 passei nenhum com um ponto e vírgula e vou
executar agora o meu programa lá ele mostrou a tabuada nove vezes um uma vez 2013 4 e 5 e 6 7 8 9 10 ou seja utilizei a estrutura de repetição mais uma função para fazer algo para mim agora eu posso chamar essa função várias vezes sem repetir o meu código ok então posso fazer o que era taboado 9 que ela tabuada do 10 por exemplo que era taboado 11 agora do 10 melhor que a tabuada do 98 ok estou aqui mandar executar olha só que interessante mostrou ali a tabuada do 9 a tabuada do
10 ea tabuada do 98 ok então eu criei uma função e eu utilizei ela várias vezes sem repetir o meu código se eu não tivesse criado uma função eu teria que repetir esse fora aqui ó várias vezes é pra isso que serve uma função para refatorar o seu código deixar ele mais robusto e mais inteligente ou seja também poderia para separar uma tabuada da outra deram uma mensagem aqui ó fazer uma coisa mais ou menos dessa forma colocaria aqui ó para ficar mais bonitinho no mesmo console um traço aqui pra separar uma tabuada da outra
ou seja olha só que visual diferente que vai dar quando executar o meu programa agora ela mostrou uma tabuada separou mostrou tabuada separou mostrou a outra tá bom é legal é bom outra coisa que eu falei pra vocês é que vocês tem como colocar essa função como privada ou é privada protegida ou interna então se você colocar aqui o interno ele vira uma função interna desse não me espelhei sakineh de cinema space desse programa inteiro ou seja somente no nome space console app você vai conseguir utilizar ali essa variável né se você colocar água como
protected ele vai funcionar protegida por esse programa também tá ele só vai funcionar no contexto dessa classe que no contexto desse programa na cidade no contexto dessa desse objeto aqui na decisão spacey também tá se eu colocar aqui como como privada ele vai funcionar somente para essa classe está e se você tentar fazer o seguinte aqui pegar esse objeto que é uma classe que fazer o seguinte tipo deixou criar aqui uma outra classe se ele consegue identificar que o programa vai te é igual a aneel programa ele consegue identificar o programa porém te ponto a
ponto ele não vai achar ele o que eu quero que seria esse método privado deixa eu ver uma coisa que melhor vou criar uma outra classe aqui para exemplificar melhor pra vocês uma outra classe é um programa dois toque e dentro dessa classe eu vou criar aqui um voyage também ou seja vou ter dois programas dentro do meu programa e aqui dentro vou tentar distanciar classe do programa original então vá pg é igual a aneel programa ok stancl agora pg.com vocês vão ver aqui aqui ele não mostra nenhuma dos nenhum dos meus métodos aqui nenhum
desses métodos ou seja nenhum dessas funções aqui simplesmente ele não mostra por que essa função é estática essa é a diferença de estática e não estática e quando é privada também tá então vou te mostrar uma coisa que é bem interessante ela só se eu digitar agora sem ser uma instância se eu digitar aqui programa o programa ponto ele vai mostrar tudo o que tem pra mim e aí vocês vão notar que o que vai mostrar que para mim é o mostra na tela havendo um mostra na tela porque ele é public ok ele vai
mostrar pra mim o tabuada ok porque o tabuada pra mim também é public ok porém gente ele não vai mostrar esse calcular soma tá então calcular soma ele não mostra pra mim simplesmente porque eu coloquei ele como privei titta se eu colocar aqui eu tirar isso daqui ele se torna publique se ele se torna publique seu digitar aqui o ponto ele vai aparecer pra mim né na realidade não eu tenho que colocar aqui como clube que mesmo tá então vou colocar aqui como public e aí eu colocar como public tonto aqui vocês vão ver que
agora ele vai aparecer o calcular soma havendo então calcular soma também apareceu pra mim aqui quando eu deixei ele como public né é legal então gente é assim que você acessa ali um método estatístico tá ou seja aqui eu não precisei criar uma instância eu deixei o amigo meu programa sem precisar criar uma instância e utilizei ali uma função taís tática dele ok e se eu criar uma função sem ser estática olha a diferença que vai acontecer aqui vou criar uma função calcula dois aqui tá calcula soma dois tá e aí eu vou tirar o
estático tá olha só a diferença que vai acontecer aqui quando eu digitar programa ponto não vai aparecer o cálculo da soma dois a venda só que se eu criar uma nova instância objeto ponto new programa agora eu criei uma nova instância na memória pg ponto agora ele aparece o calcula soma dois então é pra isso que serve quando você vai utilizar o estático e não estático no privado o público protegido interno tá então é assim que vocês vão entender a ele quando entrar com vocês para falar um pouco sobre orientação a objetos está que é
isso aqui é totalmente utilizado quando você vai fazer um programa orientado a objeto legal então nesse caso aqui eu só queria lhe mostrar pra vocês e exemplificar né como que você cria lhe a diferença de um estático pra não estático tá bom gente mas basicamente função é isso é você criar algo tá iwate facilitar e que você possa reaproveitar várias vezes é legal então é pra isso que serve uma função e é assim que você declara uma função aí no shakhtar lembrando eu só coloquei estática aqui porque quando estou trabalhando com o programa console o
homem ele é uma uma função estática e por ele ser uma função estática eu preciso ali obedecer o mesmo caminho dela para que ela possa ser enxergue dentro do meu programa legal bom é isso pessoal eu fico por aqui então até a próxima aula onde eu vou falar pra vocês ali e começar a entrar um pouquinho além de orientação a objeto legal bom é isso aí até mais e até a próxima nossa gente essa aula tudo bem atrapalhado eu errei bastante aí eu falei algumas coisas erradas por exemplo é eu falei que o público ali
né ele se você não coloca uma variável ele fica como public na realidade não a gente tem que colocar o público que mesmo para que ele fique porque mesmo tá então se você for que ele quiser criar alguma alguma função que ela seja pobre que coloca público se você não quer criar uma função que não seja public eye tanto faz tá mas lembre se de colocar o local dela então normalmente todo mundo que está desenvolvendo coloca o local da variável não deixa ela simplesmente sem nada como é na aplicação console aqui e estética da aplicação
console ele é simplesmente um exemplo ou um programa que está ali no início é uma startup de algum programa tá quando você está fazendo o seu é sempre bom você pensar em todos aqueles tipos que eu dei pra vocês na lousa qualquer local que é o tipo qualquer retorno qual é o nome da função e corrupções parâmetro legal bom é esse pessoal então fico por aqui até mais