1
00:00:00,360 --> 00:00:05,490
Olá bem-vindo à seção sobre programação orientada a objetos, aqui está o que faremos nesta seção.

2
00:00:06,150 --> 00:00:12,000
Nós vamos definir o que é orientado para o objeto de programação ou O. P. é e revisite a nova palavra-chave e

3
00:00:12,000 --> 00:00:13,630
compreenda-a em um pouco de profundidade.

4
00:00:13,860 --> 00:00:18,990
Em seguida, usaremos as funções do construtor para reduzir a duplicação de código e refatorar nossos construtores

5
00:00:18,990 --> 00:00:20,100
usando chamadas e aplicar.

6
00:00:20,400 --> 00:00:25,450
Se você não assistiu uma série na palavra-chave, eu recomendo que você faça isso primeiro.

7
00:00:25,590 --> 00:00:30,840
Tudo nesses vídeos irá construir todo o nosso conhecimento da palavra-chave, assim como chamar

8
00:00:30,990 --> 00:00:31,920
aplicar e vincular.

9
00:00:31,920 --> 00:00:32,800
Aqui vamos nós.

10
00:00:33,330 --> 00:00:35,450
Então, o que é a programação orientada a objetos.

11
00:00:35,460 --> 00:00:41,970
Basta dizer que é um modelo de programação baseado na idéia de objetos e modelos que criam objetos que chamamos

12
00:00:42,480 --> 00:00:47,580
dessas classes de planos e os objetos que criamos a partir de nossas classes são

13
00:00:47,670 --> 00:00:50,650
tradicionalmente chamados de instâncias em programação orientada a objetos.

14
00:00:50,790 --> 00:00:56,220
Nós nos esforçamos para tornar nossas aulas abstratas e modulares para que possamos reutilizar as aulas com facilidade e

15
00:00:56,220 --> 00:00:58,680
compartilhá-las entre todas as partes de uma aplicação.

16
00:00:58,710 --> 00:01:04,140
O Javascript não é compatível com classes diferentes de linguagens como o Python Ruby e o Java.

17
00:01:04,370 --> 00:01:10,980
Podemos imitar o comportamento das aulas ao usar o Javascript, tem funções e objetos antes de ver como usar

18
00:01:10,980 --> 00:01:13,910
funções para imitar o comportamento das aulas de água.

19
00:01:14,040 --> 00:01:17,610
Vamos ver por que essa técnica de programação é bastante útil.

20
00:01:17,610 --> 00:01:22,040
Imagine por um segundo que você é um arquiteto e você tem a tarefa de construir 4 casas.

21
00:01:22,230 --> 00:01:27,440
Cada casa vai ter uma série de banheiros dos quartos, bem como uma série de metros quadrados.

22
00:01:27,450 --> 00:01:30,690
A primeira coisa que pode vir à mente é fazer um objeto para cada casa.

23
00:01:30,690 --> 00:01:32,010
Nós precisamos fazer.

24
00:01:32,190 --> 00:01:37,710
uma vez que começamos a ter que criar mais do que alguns objetos, as coisas ficam muito repetitivas e tediosas.

25
00:01:37,830 --> 00:01:38,940
Parece bastante razoável, mas

26
00:01:39,510 --> 00:01:43,830
Vamos refatorar este código lendo um modelo para o que uma casa deveria parecer.

27
00:01:44,100 --> 00:01:49,380
Vamos fazer uma função que, quando usada, construiremos um objeto de casa em javascript.

28
00:01:49,380 --> 00:01:52,650
Chamamos as funções do construtor de funções especiais.

29
00:01:52,650 --> 00:01:56,100
Agora, vejamos como funciona a nossa construção para uma casa.

30
00:01:56,340 --> 00:01:59,790
Certo, percebemos que o nome da função é maiúscula.

31
00:01:59,790 --> 00:02:01,950
Isso não altera nada sobre a função.

32
00:02:02,040 --> 00:02:06,960
É apenas a melhor prática e convenção para que outros desenvolvedores saibam que esta é uma função de construtor.

33
00:02:07,920 --> 00:02:11,250
A próxima coisa que vemos é que a palavra-chave está de volta.

34
00:02:11,250 --> 00:02:12,900
Justo quando você pensou que terminou com isso.

35
00:02:13,050 --> 00:02:15,680
Se você não quiser essa série, volte e faça isso.

36
00:02:15,840 --> 00:02:20,110
Caso contrário, o resto da série será bastante confuso nesta função.

37
00:02:20,110 --> 00:02:25,170
Nós estamos anexando propriedades à palavra-chave, estamos de alguma forma esperando que, quando chamamos

38
00:02:25,410 --> 00:02:30,170
a função, um novo objeto nos seja devolvido com os valores especificados nesta função.

39
00:02:30,190 --> 00:02:32,070
No entanto, alguma coisa está faltando aqui.

40
00:02:32,070 --> 00:02:37,140
a primeira variável da casa, estamos configurando-a igual ao resultado da função da casa que se chama.

41
00:02:37,140 --> 00:02:38,070
Se olharmos para

42
00:02:38,070 --> 00:02:41,460
O problema é que nossa função da casa não está retornando nada.

43
00:02:41,550 --> 00:02:43,840
Portanto, a função retornará indefinida.

44
00:02:44,130 --> 00:02:45,690
Então, como solucionamos esse problema.

45
00:02:45,690 --> 00:02:49,710
A resposta reside em outra palavra-chave especial que irá explorar no próximo vídeo.

46
00:02:49,770 --> 00:02:50,820
A nova palavra-chave.

47
00:02:50,880 --> 00:02:51,650
Vejo você lá.
