< Return to Video

AICSS CAP08 2025 VA04 POO CONSTRUTOR

  • 0:08 - 0:14
    Um reforço importante para finalizar
    o POO é o entendimento do construtor.
  • 0:14 - 0:17
    Vamos entender melhor essa técnica.
  • 0:17 - 0:19
    Para a programação do POO,
  • 0:19 - 0:23
    um ponto importante
    na hora de montar uma classe
  • 0:23 - 0:25
    é o construtor,
    a existência do construtor.
  • 0:25 - 0:29
    A função do construtor
    ou o objetivo do construtor,
  • 0:29 - 0:36
    é encapsular as variáveis que você
    está fazendo dentro da própria classe.
  • 0:36 - 0:41
    Vejamos um exemplo rápido
    para entender a didática desse POO.
  • 0:41 - 0:44
    Aqui nesse programa,
    ele não está completo,
  • 0:44 - 0:47
    porque eu só estou focado na classe.
  • 0:47 - 0:52
    O meu objetivo é simplesmente
    explicar esse início
  • 0:52 - 0:55
    aqui da parte pública da minha classe.
  • 0:56 - 1:00
    Recapitulando,
    a classe chamada motor,
  • 1:00 - 1:04
    que será invocada
    em algum momento do código
  • 1:04 - 1:08
    antes do "void setup",
    possui a parte privada,
  • 1:08 - 1:12
    onde nós vamos declarar
    as variáveis que serão utilizadas
  • 1:12 - 1:15
    apenas dentro da nossa classe.
  • 1:15 - 1:19
    E entende-se como classe
    até esse ponto e vírgula
  • 1:19 - 1:21
    que tem aqui na frente da chave.
  • 1:21 - 1:26
    É o único lugar na linguagem C++,
    que a gente coloca um ponto e vírgula
  • 1:26 - 1:28
    quando fecha uma chave.
  • 1:28 - 1:30
    Você pode perceber
    que todas as outras chaves
  • 1:30 - 1:34
    dos nossos programas aqui
    ao longo do nosso curso
  • 1:34 - 1:37
    não tiveram esse ponto e vírgula.
  • 1:37 - 1:42
    A minha classe começa daqui de cima,
    onde tem essa chave
  • 1:42 - 1:45
    e vai até lá embaixo,
    onde tem um ponto e vírgula.
  • 1:45 - 1:46
    Dentro dela, então,
    na privada,
  • 1:46 - 1:51
    eu tenho o pino do tipo
    inteiro e estado do tipo "bool".
  • 1:51 - 1:53
    O pulo do gato está agora.
  • 1:53 - 1:56
    Na hora que você declarar
    como público toda essa parte aqui
  • 1:56 - 2:00
    que será utilizada
    ao longo do seu "void loop"
  • 2:00 - 2:04
    que está de uma forma imaginável
    aqui embaixo,
  • 2:04 - 2:06
    quando você desenvolver seu software.
  • 2:06 - 2:09
    Então, eu tenho aqui o motor,
  • 2:09 - 2:12
    que está na minha classe
    e na frente o argumento "p".
  • 2:12 - 2:17
    Esse "p" que é público para mim,
    ele está sendo público
  • 2:17 - 2:19
    porque eu estou declarando ele
    aqui na parte pública.
  • 2:19 - 2:22
    Ele vai ser transferido para o pino.
  • 2:22 - 2:24
    Aqui está declarado como privado.
  • 2:24 - 2:26
    Isso chama-se construtor.
  • 2:26 - 2:31
    Então, essa transferência de herança,
    ou seja,
  • 2:31 - 2:35
    o que vem da letra "p"
    cai na variável pino,
  • 2:35 - 2:37
    chama-se construtor.
  • 2:37 - 2:41
    Então, todas as vezes que você tiver
    outros parâmetros, por exemplo,
  • 2:41 - 2:43
    se eu colocasse um outro
    parâmetro aqui,
  • 2:43 - 2:47
    declarasse ele como "int",
    e aí colocasse aqui tempo.
  • 2:47 - 2:50
    E aqui embaixo,
    colocar aqui
  • 2:50 - 2:59
    esse tempo que eu acabei de receber
    vai vir para algo do tipo "dia".
  • 2:59 - 3:03
    Então,
    eu estou fazendo uma construção,
  • 3:03 - 3:05
    continuo fazendo a construção.
  • 3:05 - 3:07
    O conteúdo de tempo
    está indo para dia,
  • 3:07 - 3:10
    só que dia precisa está declarado
    em cima.
  • 3:10 - 3:17
    Vou vir aqui como "dia"
    para que ele seja privado, né?
  • 3:17 - 3:21
    Protegido dentro da minha classe,
    porém o seu conteúdo
  • 3:21 - 3:23
    está vindo de lugares externos.
  • 3:23 - 3:27
    E assim, o "pinMode" seria a declaração
    do pino.
  • 3:27 - 3:31
    Aqui eu estou jogando
    o nível lógico baixo,
  • 3:31 - 3:35
    aqui tem aquele "void ligar",
    que seria para ligar o led
  • 3:35 - 3:38
    ou "void desligar" para desligar o led.
  • 3:38 - 3:41
    E aqui embaixo,
    tem uma curiosidade,
  • 3:41 - 3:49
    eu estou retornando o estado
    do meu pino.
  • 3:49 - 3:51
    No caso aqui,
    vai ser verdadeiro ou falso.
  • 3:51 - 3:58
    Caso você chame
    esse terceiro método,
  • 3:58 - 4:00
    porque aqui eu tenho
    o primeiro método de ligar,
  • 4:00 - 4:05
    o segundo método desligar
    e o terceiro método obter estado.
  • 4:05 - 4:09
    E assim, eu poderia fazer um teste
    lá dentro do meu "void loop".
  • 4:09 - 4:12
    Qual é o estado do led
    naquele exato momento
  • 4:12 - 4:14
    que eu quiser fazer esse teste?
  • 4:14 - 4:18
    E aí ele me retorna o conteúdo
    de estado porque é boolean,
  • 4:18 - 4:21
    ou ele é falso ou ele é verdadeiro.
  • 4:21 - 4:26
    Percebe que o construtor
    é essa transferência de parâmetro,
  • 4:26 - 4:28
    do público para o privado.
  • 4:28 - 4:32
    E aí eu trato as informações
    de forma privada.
  • 4:32 - 4:35
    E na hora de sair os dados
    através do retorno,
  • 4:35 - 4:40
    eu saio de dentro da minha classe
    e obtenho esse valor
  • 4:40 - 4:45
    ou esse conteúdo indexado da variável
    lá no void loop.
  • 4:45 - 4:49
    E minha classe se torna protegida,
    ela está encapsulada.
  • 4:49 - 4:52
    Os dados que permeiam
    dentro da minha classe
  • 4:52 - 4:58
    não estão sendo alterados ou estão
    vulneráveis ao longo do void loop.
  • 4:58 - 5:01
    Estão todos presos lá dentro da classe.
  • 5:01 - 5:07
    Com isso, a gente entende que o POO
    é a melhor forma de você programar
  • 5:07 - 5:10
    programas ou algoritmos
    mais complexos
  • 5:10 - 5:14
    ao invés de trabalhar com a estrutura
    de cima para baixo,
  • 5:14 - 5:17
    da esquerda para direita,
    que é o tradicional.
Title:
AICSS CAP08 2025 VA04 POO CONSTRUTOR
Video Language:
Portuguese, Brazilian
Duration:
05:20

Portuguese, Brazilian subtitles

Incomplete

Revisions Compare revisions