< 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,
  • 1:46 - 1:51
    na privada 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 vai 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 paramos, 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:12
    Vou vir aqui como o dia
  • 3:12 - 3:15
    para que ele seja
  • 3:15 - 3:17
    privado, né?
  • 3:17 - 3:21
    Dentro, protegido dentro da minha classe,
    porém seu conteúdo
  • 3:21 - 3:24
    está vindo de lugares externos e assim
  • 3:25 - 3:27
    o Pi mod seria declaração do pino.
  • 3:27 - 3:30
    Aqui eu estou jogando
    o nível lógico baixo,
  • 3:31 - 3:34
    aqui tem aquele void de ligar
    que seria para ligar
  • 3:34 - 3:37
    LED ou void desligar para desligar o led.
  • 3:38 - 3:41
    E aqui embaixo tem uma curiosidade,
  • 3:41 - 3:51
    eu estou retornando o estado do meu pino,
    no caso aqui vai ser verdadeiro ou falso?
  • 3:51 - 3:54
    Caso caso você
  • 3:54 - 3:57
    chame essa, esse segundo,
    esse terceiro método.
  • 3:58 - 4:01
    Porque aqui eu tenho o primeiro método
    de ligar o segundo método
  • 4:01 - 4:05
    desligar e o terceiro método obter estado.
  • 4:05 - 4:08
    E assim eu poderia fazer um teste
    lá dentro do meu void looping.
  • 4:09 - 4:13
    Qual é o estado do LED naquele exato
    momento que eu quiser fazer esse teste
  • 4:14 - 4:18
    e aí ele me retorna o conteúdo de estado
    porque ele é booleano.
  • 4:18 - 4:21
    Ou ele é falso ou ele é verdadeiro.
  • 4:21 - 4:24
    Percebe que o construtor ele é.
  • 4:24 - 4:28
    Essa transferência de parâmetro 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:44
    ou esse conteúdo indexado da variável
    lá no Void Lupe
  • 4:45 - 4:48
    e minha classe ela se torna protegida,
    ela está encapsulada.
  • 4:49 - 4:52
    Os dados que permeiam
    dentro da minha classe
  • 4:52 - 4:57
    não estão sendo alterados
    ou estão vulneráveis.
  • 4:57 - 5:01
    Ao longo do Void Lupe
    estão todos presos lá dentro da classe.
  • 5:01 - 5:04
    Com isso a gente entende que o Pi o é.
  • 5:04 - 5:10
    A melhor forma de você programar
    programas ou algoritmos mais complexos
  • 5:10 - 5:13
    ao invés de trabalhar
    com a estrutura de cima
  • 5:13 - 5:16
    pra baixo, 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