1
00:00:00,930 --> 00:00:06,480
Bem-vindo no vídeo anterior, vimos que o javascript encontra métodos e propriedades em um objeto ao

2
00:00:06,570 --> 00:00:08,470
trabalhar a cadeia do protótipo.

3
00:00:08,760 --> 00:00:14,070
Nós também vimos que a propriedade do protótipo é um ótimo lugar para colocar propriedades e métodos

4
00:00:14,070 --> 00:00:18,310
que queremos compartilhar entre todos os objetos criados a partir dessa função de construtor.

5
00:00:18,960 --> 00:00:23,910
Vamos dar uma olhada em um exemplo e ver por que colocar métodos e propriedades no protótipo

6
00:00:23,910 --> 00:00:25,340
de objeto é muito eficiente.

7
00:00:25,440 --> 00:00:31,050
Nesse exemplo, estamos anexando um método chamado Say oi para o objeto criado a partir da função de

8
00:00:31,050 --> 00:00:31,840
construtor de pessoa.

9
00:00:32,220 --> 00:00:33,650
Agora isso vai funcionar totalmente bem.

10
00:00:33,840 --> 00:00:36,430
Mas vamos pensar um pouco mais sobre o que acabamos de fazer.

11
00:00:36,690 --> 00:00:42,800
Toda vez que um objeto pessoa é criado, temos que definir essa função nesse objeto.

12
00:00:42,870 --> 00:00:47,750
Então, quando criamos um milhão de objetos do construtor, estamos adicionando a mesma propriedade alta.

13
00:00:47,790 --> 00:00:51,110
Um milhão de vezes isso não parece muito eficiente.

14
00:00:51,240 --> 00:00:56,760
Seria bom se pudéssemos defini-lo uma vez e tê-lo acessível a partir de cada objeto criado a partir

15
00:00:56,760 --> 00:01:02,640
do construtor da pessoa e é exatamente isso que os métodos de colocação na propriedade do protótipo nos permitem

16
00:01:03,630 --> 00:01:04,810
fazer no exemplo abaixo.

17
00:01:04,890 --> 00:01:10,260
Nós refactamos o nosso código de cima para que nós apenas definimos a função alto dizer uma vez

18
00:01:10,260 --> 00:01:16,320
que este código é muito mais eficiente e faz uso das melhores práticas com programação orientada a objetos em javascript.

19
00:01:16,320 --> 00:01:17,910
Agora é sua vez.

20
00:01:17,970 --> 00:01:20,450
Crie uma função de construtor para um veículo.

21
00:01:20,730 --> 00:01:26,400
Todo objeto criado a partir desta função de construtor deve ter um modelo de marca e uma propriedade de

22
00:01:26,460 --> 00:01:31,660
ano, cada objeto também deve ter uma propriedade chamada está sendo executada, que deve ser igual a falso.

23
00:01:32,070 --> 00:01:37,590
mudanças a propriedade está sendo executada para esse objeto para verdadeiro, cada objeto criado a partir de

24
00:01:37,590 --> 00:01:43,800
um construtor local também deve ter uma função chamada Desligar o qual a propriedade está sendo executada para False.

25
00:01:43,860 --> 00:01:49,250
Todo objeto criado a partir do construtor do veículo deve ter uma função chamada Ativar quais

26
00:01:49,290 --> 00:01:55,050
Finalmente, todo objeto criado a partir do construtor de veículo deve ter um método chamado buzina que

27
00:01:55,050 --> 00:01:56,370
retorna o sinal sonoro.

28
00:01:56,370 --> 00:02:01,790
Somente se a propriedade está sendo executada nesse objeto é verdadeira.

29
00:02:01,830 --> 00:02:06,630
Pense em onde cada uma dessas propriedades e métodos devem ser definidos para os objetos do veículo criados

30
00:02:06,630 --> 00:02:10,530
a partir da função do construtor e irão sobre uma solução no próximo vídeo.

31
00:02:10,530 --> 00:02:10,920
Boa sorte
