< Return to Video

AICSS CAP08 2025 VA03 POO CLASSES METODOS E OBJETOS

  • 0:08 - 0:10
    Você sabe o que é objetos
    e métodos
  • 0:10 - 0:12
    dentro da linguagem de programação
    orientada a objetos?
  • 0:12 - 0:14
    Vamos discutir
    um pouco mais sobre isso.
  • 0:14 - 0:17
    Dentro da linguagem
    de programação orientada objeto
  • 0:17 - 0:21
    nós temos recursos
    que vão tornando a programação
  • 0:21 - 0:24
    um pouco mais profissional
    e ao mesmo tempo flexível
  • 0:24 - 0:30
    para fazer alterações
    rápidas sem quebrar muito o código.
  • 0:30 - 0:34
    Outra vantagem de usar
    métodos e objetos
  • 0:34 - 0:38
    é que você pode criar
    uma caixa de ferramenta exclusiva
  • 0:38 - 0:42
    para você programador
    que tem facilidade em desenvolver
  • 0:42 - 0:46
    uma parte do programa e reaproveitar
    isso nos demais programas.
  • 0:46 - 0:49
    Afinal, os bastidores do código
  • 0:49 - 0:54
    não são tão importantes para o usuário
    que está usando seu sistema.
  • 0:54 - 0:57
    E você, como programador,
    pode ganhar tempo reaproveitando
  • 0:57 - 1:00
    partes do seu código
    para projetos futuros.
  • 1:00 - 1:02
    Vejamos aqui uma aplicação prática
  • 1:02 - 1:06
    de como fazer objetos e métodos
    usando o pisca pisca.
  • 1:06 - 1:11
    Nesse código nós vamos começar aqui
    do nosso "void setup".
  • 1:11 - 1:14
    Percebe que ele está "vazio",
  • 1:14 - 1:18
    já que a parte de programação
    do pin mode
  • 1:18 - 1:20
    ou da configuração do pin mode,
  • 1:20 - 1:25
    que é importantíssima para fazer
    os pinos se alimentarem
  • 1:25 - 1:28
    elas em vez de estar dentro
    do void setup,
  • 1:28 - 1:32
    elas foram parar dentro
    da nossa classe.
  • 1:32 - 1:35
    E ainda na sequência nós temos
    o "void loop"
  • 1:35 - 1:42
    que vai na verdade instanciar
    os nossos métodos.
  • 1:42 - 1:45
    Então vejamos o que é um objeto,
    O que é o método?
  • 1:45 - 1:48
    Tudo começa antes do void Setup.
  • 1:48 - 1:52
    Percebe que aqui tem uma palavra LED
    com a letra L maiúscula
  • 1:53 - 1:56
    e um LED
    um com letras com as letras minúsculas.
  • 1:57 - 2:01
    Essa palavra LED com letra maiúscula
    é o nosso objeto.
  • 2:02 - 2:07
    Percebe que aqui em cima esse LED
    também aparece com a letra maiúscula?
  • 2:07 - 2:13
    Então o nome que vem logo abaixo do public
    tem que bater com a palavra
  • 2:13 - 2:17
    que você está criando,
    o lá de fora que vem antes do vídeo setup.
  • 2:17 - 2:21
    Na sequência eu tenho o LED um.
  • 2:22 - 2:25
    Esse led um faz parte do objeto,
  • 2:25 - 2:28
    porém
    ele não aparece aqui dentro da classe.
  • 2:29 - 2:31
    Ele vai aparecer lá fora
  • 2:31 - 2:35
    dentro do Void Loop,
    que é aonde eu vou instanciar meu objeto.
  • 2:35 - 2:38
    Então eu começo com o led
    criando dentro da classe LED maiúscula
  • 2:39 - 2:42
    e o LED um para fora dele, aonde eu vou
    instanciar.
  • 2:43 - 2:46
    Pois bem, percebe que tem um ponto
  • 2:46 - 2:48
    depois da palavra LED um?
  • 2:48 - 2:54
    Esse ponto vai me dizer
    qual é o comportamento desse objeto Eu.
  • 2:54 - 2:57
    Ou seja, esse ponto significa método.
  • 2:57 - 3:02
    Método é uma espécie de ação
    e o comportamento do objeto,
  • 3:03 - 3:06
    a palavra ponto ligar.
  • 3:06 - 3:11
    Ela está lá dentro da minha classe
    e ela faz parte aqui dessa função
  • 3:11 - 3:14
    zinha, dessa pequena função zinha,
    que é um digital write.
  • 3:14 - 3:18
    Ou seja, faço o nível lógico alto
  • 3:18 - 3:22
    sair pelo o pino que está sendo carregado.
  • 3:22 - 3:25
    Já já a gente chega no entendimento disso.
  • 3:25 - 3:28
    Por enquanto você só tem que entender
    que dentro do modo de ligar
  • 3:28 - 3:29
    eu faço o nível lógico alto.
  • 3:29 - 3:33
    Sair e dentro da função void desligar
  • 3:33 - 3:37
    eu faço o low sai, ou seja,
    eu desabilito o led.
  • 3:38 - 3:42
    Entendido isso, vamos agora
    entender como se faz uma classe.
  • 3:42 - 3:45
    Você começa com a palavra classe
  • 3:45 - 3:49
    e coloca a palavra let também
    a palavra é maiúscula.
  • 3:49 - 3:54
    Ela tem que estar aqui em cima,
    aqui no public e lá do lado de fora.
  • 3:55 - 3:58
    E aí você
    vai fazer uma construção da sua classe,
  • 3:58 - 4:03
    sempre com duas partes,
    uma parte privada e uma parte pública.
  • 4:03 - 4:06
    Na parte privada
    você vai declarar os pinos
  • 4:07 - 4:11
    que serão utilizados dentro desse escopo
    e não mais que isso.
  • 4:11 - 4:14
    Então a classe para ela existir,
  • 4:14 - 4:18
    ela precisa ter pequenas gavetas
    na memória do microcontrolador.
  • 4:18 - 4:21
    E essas gavetas são as variáveis.
  • 4:21 - 4:24
    Nesse caso, eu estou declarando a gaveta
  • 4:24 - 4:27
    pino como sendo inteira
  • 4:27 - 4:29
    na parte pública.
  • 4:29 - 4:34
    Eu vou colocar aqui o nome do meu objeto
    e aí na frente dele
  • 4:34 - 4:40
    eu vou colocar o local onde vai vir
    o parâmetro, o primeiro parâmetro.
  • 4:40 - 4:42
    Quando eu carregá lo.
  • 4:42 - 4:44
    Então aqui está vindo o parâmetro P
  • 4:44 - 4:47
    em minúsculo e ele é do tipo inteiro.
  • 4:47 - 4:50
    Quando eu entrar na minha parte pública
  • 4:50 - 4:54
    eu faço uma transferência obrigatória
    aqui de parâmetro.
  • 4:54 - 4:58
    A variável que você declarar aqui
    dentro, você precisa jogá la pra
  • 4:58 - 5:02
    dentro da privada, da parte privada
    que você declarou na etapa anterior.
  • 5:03 - 5:07
    Isso garante que o seu conteúdo
    que acabou de chegar dentro da sua classe,
  • 5:07 - 5:12
    vá direto para o conteúdo privado
    para você poder trabalhar aqui dentro
  • 5:12 - 5:15
    e não deixar exposto
    para os outros escopos do seu projeto.
  • 5:16 - 5:19
    Isso garante segurança
    na hora de montar o projeto
  • 5:19 - 5:23
    e evitar que variáveis
    sejam alteradas inadvertidamente.
  • 5:24 - 5:24
    Outra coisa
  • 5:24 - 5:28
    que acontece aqui é o pin mod,
    que é o normal.
  • 5:28 - 5:30
    Isso aqui
    deveria estar dentro do hot Setup,
  • 5:30 - 5:32
    por que nós colocamos aqui
    para mostrar para você
  • 5:32 - 5:35
    que dentro da parte pública
    eu posso fazer o que eu bem entender
  • 5:35 - 5:40
    com o código mesmo, etapas ou comandos
    que vão dentro do setup
  • 5:40 - 5:44
    para desocupar ou tirar de dentro do void
    Setup.
  • 5:45 - 5:49
    Etapas que só interessam só interessam
    quando eu tiver um pisca pisca.
  • 5:50 - 5:53
    Isso aqui então, já está trazendo para mim
    uma versatilidade.
  • 5:53 - 5:56
    E isso aqui foi uma ferramenta
  • 5:56 - 6:00
    que eu encapsula como sendo um pisca pisca
    todos os códigos que eu estiver
  • 6:00 - 6:04
    precisando, um pisca pisca eu não preciso
  • 6:05 - 6:08
    depender do voice setup
    para ir lá colocar o pin mod.
  • 6:08 - 6:09
    Eu já deixo dentro
  • 6:09 - 6:12
    da minha caixinha de ferramenta,
    independente do que eu já tenho lá
  • 6:13 - 6:16
    dentro do vai de setup eu não tenho que
    mexer dentro do void setup
  • 6:16 - 6:21
    eu incluo o pin mod
    que é importante para o pisca pisca, para
  • 6:21 - 6:25
    a minha plaquinha,
    para meu projeto que tem o pisca pisca,
  • 6:25 - 6:26
    não para todos que eu
  • 6:26 - 6:30
    que eu tiver que colocar um pisca pisca,
    eu vou lá no vídeo setup e altero
  • 6:30 - 6:34
    o conteúdo dele, deixo aqui na classe
    e que vai funcionar da mesma forma.
  • 6:34 - 6:38
    E aí está lá pin mod ou pino e output.
  • 6:38 - 6:39
    Agora de onde está vindo
  • 6:39 - 6:43
    o pino? O pino, como eu disse,
    está vindo da letra P e da letra P.
  • 6:43 - 6:47
    Está vindo da onde está vindo da frente
    do argumento que está na frente do LED.
  • 6:48 - 6:49
    Aí você volta lá.
  • 6:49 - 6:52
    Então na linha 19, na linha 20,
    olhe que acontece aqui
  • 6:53 - 6:57
    eu coloquei LED como sendo o meu objeto
    e o LED um como sendo parte do meu objeto.
  • 6:57 - 7:00
    Só que aí olha o que tem aqui dentro,
    um número.
  • 7:00 - 7:05
    Esse número ele está vindo indexado para
    exatamente aqui dentro.
  • 7:06 - 7:09
    Só que não aparece a palavra LED
    um dentro da classe,
  • 7:09 - 7:11
    porque não tem mesmo que aparecer.
  • 7:11 - 7:14
    Ela aparece do lado de fora
    quando eu precisar de invocar ela,
  • 7:14 - 7:18
    porque assim o que eu faço
    eu coloco aqui LED um ponto ligar
  • 7:19 - 7:22
    e aí ele vai entender o que
    que na frente do led não tem a variável
  • 7:22 - 7:26
    o melhor conteúdo 23
    que por sua vez vai cair na letra P
  • 7:27 - 7:31
    que por sua vez vai cair na letra pino,
    que por sua vez vai ser carregado
  • 7:31 - 7:36
    no pin mod e depois vai ser instanciado
    aqui, ou melhor invocado dentro
  • 7:38 - 7:39
    do método ligar porque
  • 7:39 - 7:42
    você colocou ponto ligar e aí
    o ligar é para High.
  • 7:43 - 7:46
    Depois você espera um deley lá embaixo
    que ele vai executar isso aqui
  • 7:47 - 7:50
    e vai sair daqui de dentro,
    ai ele volta para o Voz de Low.
  • 7:50 - 7:55
    O delay vai ser executado
    por 1000 milissegundos ou um segundo
  • 7:56 - 8:00
    e na sequência eu tenho o led
    um de novo, ou seja, o mesmo objeto
  • 8:01 - 8:04
    e de um porém com o método diferente
    que é o ponto desligar.
  • 8:05 - 8:08
    E aí eu carrego
    essa parte do código aonde?
  • 8:08 - 8:11
    Lá com o mesmo pino
    que já está na memória,
  • 8:11 - 8:14
    eu faço low e o led apaga.
  • 8:14 - 8:17
    Conclusão
    todas as vezes que você criar uma classe
  • 8:18 - 8:22
    você tem que instanciar aqui no começo a
  • 8:23 - 8:27
    o objeto, o nome desse objeto
    que vai aparecer lá fora
  • 8:28 - 8:32
    e o pino que você quer carregar com isso.
  • 8:32 - 8:33
    Olha só como ficou nossa voz de loop.
  • 8:33 - 8:36
    Bem enxuto onde eu tenho agora?
  • 8:36 - 8:41
    Aqui só LED um ponto, ligar LED
    ou um ponto desligar e eu coloco um delay.
  • 8:41 - 8:44
    Poderia ter colocado esse delay lá dentro
  • 8:44 - 8:47
    do meu voyage ligar
    eu coloco ele aqui dentro, põe 1000 aqui
  • 8:48 - 8:49
    por enquanto e
  • 8:49 - 8:52
    vírgula
    e aí eu tiraria o delay daqui de dentro.
  • 8:52 - 8:55
    Olha só como que ficaria bem
    simples no meu, vai de louco!
  • 8:55 - 8:58
    E olha que eu estou criando
    cuidando de dois LEDs
  • 8:59 - 9:03
    num método, ou melhor,
    numa explicação aí anterior,
  • 9:03 - 9:06
    eu teria que colocar
    dentro do VAR de loop,
  • 9:06 - 9:10
    ligar para o led azul,
    depois desligar para o led azul,
  • 9:10 - 9:13
    ligar para o led verde,
    desligar para o led verde
  • 9:13 - 9:17
    com incluindo os seus respectivos pinos
    e deles.
  • 9:18 - 9:22
    Aqui, do jeito que eu estou fazendo,
    eu posso simplesmente colocar
  • 9:22 - 9:25
    1000 aqui dentro.
  • 9:26 - 9:28
    E vai ficar ainda mais enxuto.
  • 9:28 - 9:30
    E aí eu tiraria
  • 9:30 - 9:33
    os meus 500 aqui
  • 9:33 - 9:36
    e assim
    os leds estariam na mesma cadência.
  • 9:36 - 9:39
    Eu não vou colocar o play aqui agora,
    mas esse é um exemplo para vocês
  • 9:40 - 9:45
    e do jeito que eles estão fazendo aqui,
    a gente volta agora para onde estava.
  • 9:47 - 9:50
    Do jeitinho que estava.
  • 9:52 - 9:53
    E agora vamos entender o final.
  • 9:53 - 9:58
    O LED eu faço simplesmente
    a ativação dele lá em cima.
  • 9:58 - 10:01
    Espero um segundo depois eu desativo.
  • 10:01 - 10:06
    Ele espera um segundo para o LED dois,
    que é o verde.
  • 10:06 - 10:09
    Eu faço a ativação de lá em cima.
  • 10:09 - 10:13
    Espera agora meio tempo, meio segundo
    e depois eu desligo.
  • 10:13 - 10:17
    Note que o verde é mais rápido
  • 10:17 - 10:20
    para piscar e o azul é mais demorado.
  • 10:20 - 10:24
    Um segundo para o azul,
    meio segundo para o verde.
  • 10:24 - 10:29
    Esse método de fazer a programação
    com base em classes
  • 10:29 - 10:34
    para programas mais complexos
    e mais elaborados é essencial,
  • 10:34 - 10:38
    porque quando você tiver
    que fazer alguma alteração,
  • 10:38 - 10:42
    você vai apenas na classe
    e mexe, apenas na class,
  • 10:42 - 10:46
    não na estrutura inteira do void looping
    ou do void setup.
  • 10:47 - 10:51
    E quando você acertar
    as versões das suas classes,
  • 10:51 - 10:56
    elas são herdadas para programas
    futuros, economizando um baita tempo.
Title:
AICSS CAP08 2025 VA03 POO CLASSES METODOS E OBJETOS
Video Language:
Portuguese, Brazilian
Duration:
11:00

Portuguese, Brazilian subtitles

Incomplete

Revisions Compare revisions