programação orientada a objetos só de ouvir esse termo já me dá um calafrio aqui você tem dificuldade em aprender esse conceito da programação pois saiba que você não tá sozinho que a maioria das pessoas também tem dificuldade em aprender programação orientado objeto Hoje eu tô aqui para me redimir porque eu sofri tanto para aprender isso que agora eu quero ajudar vocês estão começando então a ideia desse vídeo eu consegui te explicar da forma mais fácil possível na verdade a forma que eu consegui aprender na época eu estava estudando né Então até o final desse vídeo
Meu compromisso é tentar deixar as coisas um pouco mais claras aqui para que você consiga assimilar esse conceito tão importante da programação Bora para o vídeo [Música] Olá pessoal bora para mais um vídeo eu sou Carol tekita seja bem-vindo ao meu canal até quinta dév onde você vai encontrar muito conteúdo para te ajudar na sua carreira como um programador se você é novo por aqui a única coisa que eu te peço é que se esse conteúdo aqui te ajudar a entender programação orientada objeto que você deixe seu like e você compartilha para outras pessoas também
estão começando que você deixa o seu comentário que você se inscreva no canal porque isso ajuda demais no meu conteúdo agora se você já é raiz aqui tá sempre acompanhando os conteúdos do até quinta-feira flakes Não deixe de deixar o seu like o seu comentário porque às vezes você esquece ao longo do vídeo Então já deixa aqui agora porque você sabe que a qualidade é garantida então eu conto com seu apoio e quem já acompanha o canal sabe que sempre no final do vídeo eu escolho um comentário para responder aqui e ajudar outras pessoas então
não deixe de colocar sua dúvida ou sugestão aqui que seu comentário é muito importante para mim combinado para começar no começo né É legal dizer que muitas vezes o fato da gente não entender alguma coisa não tá relacionado a nossa capacidade de aprender ou não e o material que a gente está utilizando né a forma a linguagem que a gente está lendo aquela informação que a gente está consumindo aquela informação a metodologia né ser legal a gente entender para a gente desvincular essa coisa então assim se você tá empacado em algum conceito como por exemplo
programação oriental do objeto tem que estudar Isso de formas diferentes escolher materiais diferentes de repente aplicar na prática para que você consiga assimilar de uma forma mais prática né Foi isso que me ajudou Nesse contexto da programação orientada ao objeto e eu espero que esse conteúdo aqui te ajude de alguma forma e para gravar esse conteúdo aqui eu conto com o apoio da escola DMC que tem uma formação e tecnologia focada na base para formar bons programadores de verdade então lá você vai encontrar um módulo específico de Ciências da Computação onde você vai encontrar diversos
conceitos que são importantes para essa base do programador incluindo esse paradigma que eu vou falar hoje que é a programação orientada objetos é legal dizer que a escola dnc ela busca profissionais que vão resolver problemas reais de mercado e para isso eles têm uma meta muito bem estruturada e uma metodologia focada prática não é à toa aí que o índice de empregabilidade da formação em tecnologia deles é superior a 98%, se você ficou interessado e quiser saber mais sobre a formação em tecnologia da escola DMC e quiser também conferir depoimentos de alunos que já fizeram
essa formação é só acessar o link na descrição desse vídeo Bom vamos lá para começar a explicar esse paradigma que é a programação orientada ao objeto eu queria que você mentalizasse um jogo de plataforma o Mário lembra do Mário do Super Nintendo que eu amo de paixão então mentaliza aí o mar agora vamos parar para pensar quantos objetos você consegue identificar nesse jogo de plataforma se a gente for pensar a gente tem aquele cano ali onde sai aquela plantinha E também o Mário consegue entrar muitas vezes naquele cano a gente tem também aqueles bloquinhos que
você pode bater e coletar alguns itens nós temos até os itens né então tem vários tipos de objetos que a gente pode identificar naquele jogo e tá aí um ponto muito importante né porque trazendo justamente para o contexto da programação em relação ao paradigma de orientação objeto quando a gente fala um objeto pode ser qualquer coisa por exemplo o Mário ali no contexto do jogo ele seria também um objeto dentro daquele jogo ele seria um elemento dentro daquele jogo e como que eu posso identificar um objeto um objeto ele tem características próprias uma funcionalidade própria
um escopo muito bem definido então a gente sabe qual que é o papel do personagem ali no jogo que é diferente do papel do inimigo que é diferente do papel do item O que é diferente do papel de algum item ali do cenário ali do cano alguma coisa que a gente tem ali naquele jogo então a gente sabe que temos tipos diferentes de objetos ali posicionados naquele jogo a programação oriental do objeto é uma forma de programar que se concentra nesse objeto e nas suas interações Então nesse contexto um objeto é uma coisa que pode
ser um carro Um item e até nesse caso do jogo ele pode ser um Mário o Maro é um objeto dentro do jogo e A grande questão da programação orientada objeto é entender como que essas coisas vão funcionar juntas e interagir juntos e essa forma de pensar da forma de programar vai impactar em como você estrutura o seu código né e para a gente entender esse conceito esse paradigma de programação oriental do objeto nós temos que entender outros conceitos Como por exemplo o conceito de classe o que seria então uma classe nesse contexto uma classe
A gente for pensar que o bolo é o objeto a classe ela seria que meio a receita do bolo então se eu quisesse criar ali é um objeto de bolo eu criaria uma classe bolo aonde eu tirei todas as características daquele bolo e também todas as funcionalidades daquele bolo assim como se eu quisesse criar um carro eu teria uma classe carro que teria suas características como por exemplo motor a cor e tal para que eu pudesse estanciar criar instâncias desse carro e A grande questão da classe é justamente a possibilidade de você criar vários objetos
sem ter que repetir código então por exemplo se eu quero criar vários caos eu não preciso criar um código para cada carro eu simplesmente vou criar instâncias diferentes da minha classe calma e aí pensando nessas características que a gente definiu ali para o um carro que é motor e cor por exemplo eu poderia criar uma Ferrari vermelha e um Fusca azul utilizando essa mesma classe então esses objetos seriam instâncias dessa classe que seria carro da mesma forma e voltando um pouquinho ali para o jogo a gente tem o Mário e ele tem diversos inimigos ali
que vão chegando ao longo da fase ao invés eu criar um código para cada inimigo eu simplesmente vou instanciar né vou gravar as instâncias desse inimigo ali que o meu jogo então fica muito mais fácil de implementar então nessa classe de inimigo eu defina os comportamentos e as características e eu vou simplesmente instanciar ao longo do jogo para que eu tenho esses vários inimigos que o Mário vai interagir ao longo do jogo é legal entender que cada objeto Nesse contexto ele é único mas ele compartilha dessas características que a gente define na nossa classe também
dessas funcionalidades que a gente implementou nessa classe Então os inimigos eles vão ter os mesmos comportamentos eles vão ter as pessoas características que eu posso por exemplo parametrizar na minha classe inimigo eu tenho ali um valor ali de velocidade posso criar um inimigo com uma velocidade maior ele vai andar mais rápido que um inimigo com uma velocidade menor Então são variações mas esse objeto eles são únicos mas o que que acontece se eu precisar criar um terceiro objeto que tem as características dos objetos que eu já criei mas que tenha outras funcionalidades como por exemplo
se eu tenho ali a minha classe K eu quero criar um carro mas eu quero criar um carro turbinado é um carro voador né ele tem outra funcionalidade que não tá no escopo da minha classe carro como que eu posso fazer isso aproveitando as funcionalidades ali na minha classe carro bom para conseguir fazer isso a gente tem que entender um outro conceito que é o conceito de herança a herança basicamente ela permite com que você consiga criar uma classe A partir de outra classe justamente herdando suas características e suas funcionalidades aí dá para entender o
quanto isso pode otimizar ali a forma com que a gente escreve o nosso código a gente consegue aproveitar muito essas implementações voltando então um pouco por exemplo do jogo né no jogo eu tenho vários tipos de inimigo de repente eu quero criar um inimigo que ele não só anda ali horizontalmente mas ele também andarticalmente então eu quero criar um inimigo diferente então ao invés do desenvolver uma classe do zero eu posso herdar essas características e essa implementação desse inimigo que já faz essa movimentação básica E aí eu posso criar novas implementações então poderia criar por
exemplo um inimigo que voa que é dali as características desse inimigo mas que implementa novas funcionalidades como por exemplo andar também no eixo Y e é por isso que isso é tão importante no desenvolvimento de jogos na verdade não dá para você desenvolver um jogo se você não entendeu o conceito de orientação objeto e foi por isso que eu só entendi esse conceito quando eu realmente desenvolvi um jogo para entender o quanto é importante você entender o que são esse objetos e como eles vão se interagir aí na programação né E nesse ponto a questão
chave da programação orientada ao objeto é entender como que você vai definir muito bem esses escopos para que você não perca o controle nesse sentido então o grande ponto aqui é utilizar esperança a seu favor para que você consiga reaproveitar essa implementações né mas que você consiga ter um controle do código que você está escrevendo porque um ponto que muitas pessoas levantam a respeito da programação orientada ao objeto é você meio que perdeu o controle desse tipo de herança Então vamos supor que você começa a criar classes que herdam de outras classes mas que essas
classes que estão lidando elas não utilizam todas as funcionalidades e características da classe mãe isso quer dizer que a gente está realmente indo contra um dos princípios do sólido por exemplo isso pensando em escalabilidade manutenção pode ser um problema muito grande para o seu código então o segredo da programação oriental do objeto é saber definir muito bem esses escopos E essas características e como esses objetos eles vão se relacionar entre si agora trazendo um pouco essa abstração para aquele exemplo de jogo é muito comum no jogo a gente fazer essas implementações um pouco mais genéricas
e segmentados para que a gente consiga reaproveitar isso em uma larga escala como por exemplo eu poderia criar ali no meu jogo é muito como a gente ter elementos no jogo sofrem dano como por exemplo personagem ele pode sofrer Dani perder a vida o inimigo ele pode sofrer dano e perder a vida então eu posso criar uma classe que implementa essa lógica ali de contabilizar esse dano e controlar a vida daquele personagem que eu posso reaproveitar isso por exemplo no meu personagem principal nos meus inimigos para que eu não tenho ali que implementar essa lógica
várias vezes né eu posso reaproveitar essa funcionalidade né mas da mesma forma com que isso ajuda Se você não souber controlar muito bem como você definir esses escopos esse tipo de herança isso pode causar efeitos colaterais no seu código e é isso que outro paradigma veio para resolver que é o paradigma da programação orientada a protocolos mas aí já é um assunto para a gente falar e em outro vídeo e agora que a gente já sabe os conceitos básicos da programação orientada ao objeto eu queria fazer um exercício aqui com você pensa naquele joguinho ali
do pac-man Como que você programaria aquele joguinho né imagina você criando uma função gigantesca ali sem programação orientada objeto onde você vai controlar cada Fantasma e o imagem tudo numa função só imagina isso Qual que é a viabilidade de você fazer isso e é por isso que a programação orientada ao objeto ela é muito importante para o desenvolvimento de jogos agora leva isso para agítima de programação oriental do objeto você facilmente poderia criar uma classe de inimigos que seriam os Fantasmas e ela teria ali a sua funcionalidade esse movimentar e de tentar encontrar a melhor
rota para chegar ao personagem principal que no caso é você que está movimentando ali então pensando nesse sentido eu não tenho que programar cada fantasma daquele eu simplesmente programa uma classe onde eu vou criar várias instâncias desses Fantasminhas eu posso ali distanciar e colocar no meu jogo isso me dá a possibilidade de criar vários leves diferentes sem ter que reescrever essa lógica você consegue visualizar que depois que você entende esse conceito você começa a pensar o seu código de uma forma diferente eu dei o exemplo de jogo aqui mas vamos trazer para um exemplo mais
Change Mobo onde eu tenho ali um formulário com Campos pensa que no meu formulário Eu tenho um campo simples de texto e Campos que eles validação Então esse campo ele tem alguma validação ali de formatação ele pode exibir uma mensagem ali embaixo com essa validação né pensando Justamente na programação orientada objeto eu posso criar uma classe básica para um campo de texto e eu posso fazer o meu campo de texto com validação e dado essa classe básica e implementar novas funcionalidades que no caso seria essa validação E aí pensando no meu formulário ali eu não
vou escrever um código para cada campo eu vou simplesmente me distanciar esses campos na tela e reaproveitar a lógica que eu criei ali para essas definições de campo e de campo com validação que Vai facilitar e muito meu trabalho e além desses conceitos básicos que eu expliquei aqui nesse vídeo que é classe e herança tem outros conceitos que são importantes ali na programação orientada objeto como encapsulamento mas isso já é tema para uma parte 2 então se você quer a parte 2 não desde comentar aqui que você quer a parte dois do vídeo que eu
posso preparar esse material para vocês e lembrando que se você busca uma metodologia para aprender programação do jeito certo lá etapas para ter uma base sólida como programador dá uma olhadinha na formação em tecnologia da escola dnc porque eles têm uma ótima metodologia além de um índice de empregabilidade altíssimo e O legal é que a escola DLC possui diversas empresas parceiras e ao longo do curso você tem a possibilidade de trabalhar em projetos reais nessas empresas parceiras então já é uma ótima forma de você ganhar experiência de mercado se você quiser saber mais é só
acessar o link que eu vou deixar na descrição desse vídeo bom agora eu quero saber o seu veredito eu consegui te explicar o que é programação orientada objeto Eu espero que sim eu tentei Trazer isso da forma mais facilitada possível mas eu quero seu feedback também e também quero a sua participação que outros temas você quer ver aqui no canal eu tô pensando em fazer uma playlist com conceitos básicos ali da programação para ajudar quem tá começando com o conteúdo gratuito então não deixe de comentar que tipo de conteúdo você quer ver por aqui porque
isso me ajuda demais a trazer esses conteúdos relevantes e assim como é costume eu vou responder um comentário que deixaram outro vídeo aqui no canal bom e o comentário que eu vou ler hoje é Danilo o essa semana eu fiquei um pouco triste depois de tantos meses de preparo mal encontro vagas para Júlia na minha área sou um desabafo Danilo essa situação que muitas pessoas se encontram principalmente porque nem sempre as empresas publicam essas vagas e elas ficam acessíveis a todo mundo eu tenho um vídeo que eu falo sobre isso aonde você pode encontrar vagas
ocultas no mercado de trabalho e te dou algumas dicas de como você pode ser um pouco mais proativo para descolar essas oportunidades Então não é que não tenha vagas mas essas vagas elas nem sempre estão acessíveis e elas nem sempre estão públicas para todo mundo e esse é um ponto chave que você precisa entender para conseguir se posicionar de uma forma mais estratégica no mercado eu recomendo que você Assista esse vídeo que eu vou deixar o Card ali ou em algum lugar da tela ou na descrição desse vídeo para que você consiga assistir esse vídeo
onde eu falo sobre as vagas ali no mercado de trabalho né Muito obrigado pelo seu comentário se você tem alguma dúvida alguma sugestão de tema não deixe comentar seu comentário é muito importante para mim e é isso também despedir aqui para o próximo vídeo vou comentar dois conteúdos porque você sabe maratona e os conteúdos do canal tem muito conteúdo que vai te ajudar tem 270 vídeos aqui no canal então se você tá com o número sobre um assunto procura ali no YouTube até quinta espaço o tema que está procurando porque com certeza pode ser que
eu já tinha gravado algum vídeo sobre isso aqui no canal e se não tiver gravado Não deixe de comentar porque pode ser um tema relevante para eu trazer aqui então espero você no próximo vídeo e vou te indicar para os dois conteúdos para você maratonar ou até quinta Flex o primeiro conteúdo que eu vou te indicar é um vídeo que é uma introdução ali a lógica da programação que vai complementar com o conteúdo desse vídeo então não deixa assistir e o outro conteúdo vai ser uma indicação do YouTube para você e agora eu vou jogar
mar porque eu fiquei com vontade falei tanta enjoo que eu fiquei com vontade não deixe de se inscrever porque tem muito conteúdo legal para você