0:00:00.844,0:00:05.152
Estamos de volta! Dessa vez, nosso[br]programa tem o objeto Winston
0:00:05.152,0:00:10.020
mas mostraremos somente sua idade.[br]Porque eu quero te mostrar
0:00:10.020,0:00:13.719
como podemos mudar a idade de Winston.[br]Você sabe que eventualmente,
0:00:13.719,0:00:18.075
Winston tem que envelhecer. Vamos lembrar[br]como seria se estivéssemos
0:00:18.075,0:00:22.695
usando variáveis simples. Temos a variável[br]WinstonAge igual a 19, e então se
0:00:22.695,0:00:27.088
quisermos alterá-la, atribuiríamos[br]a ela o valor 20.
0:00:27.088,0:00:31.275
Isso mudaria o valor armazenado na[br]variável. O processo é bem semelhante
0:00:31.275,0:00:39.477
para propriedades de objetos. Escrevemos [br]winston ponto age igual a 20 e pronto
0:00:39.477,0:00:43.609
o valor da propriedade age do[br]objeto winston foi alterado.
0:00:43.609,0:00:44.631
Legal.
0:00:44.631,0:00:48.569
Vejamos se funcionou. Pegarei nosso[br]comando text, colocarei aqui em baixo,
0:00:49.060,0:00:54.020
mudando o y, Tcharam! Winston[br]ficou mais velho. Muito fácil.
0:00:54.543,0:00:59.316
Hum, certo, estávamos adicionando um aqui,
0:00:59.316,0:01:07.309
vamos melhorar isso. Digamos winston ponto[br]age é igual a winston ponto age mais um.
0:01:07.309,0:01:10.860
Que significa pegue o valor prévio de age
0:01:10.860,0:01:16.041
adicione um, e armazene na propriedade age
0:01:16.903,0:01:21.787
Isso abacará incrementando um, seja qual[br]for o valor prévio. Vejamos.
0:01:22.956,0:01:25.644
Vamos mostrar, e tcharam! Ele tem 21 anos.
0:01:25.644,0:01:30.064
Está ficando tão velho. Certo, lembre-se[br]que há um atalho para incrementar um
0:01:30.064,0:01:36.803
a variáveis, também funciona com objetos, [br]basta escrever winston ponto age mais mais
0:01:37.556,0:01:44.997
Será que funciona? Isso! Fez exatamente[br]o mesmo que essa linha
0:01:44.997,0:01:49.144
é um atalho, assim não[br]temos que digitar tanto.
0:01:49.144,0:01:53.330
Olhando bem, parece que[br]podemos usar um loop aqui.
0:01:53.330,0:01:57.792
Estamos usando usando o mesmo código de [br]novo, só para icrementar a propriedade
0:01:57.792,0:02:02.527
de idade, mudando o y para que[br]fiquem em linhas diferentes.
0:02:03.018,0:02:07.068
Se usarmos um loop, seria muito mais fácil[br]mostrar que ele está cada vez mais velho
0:02:07.068,0:02:13.497
com menos código. Faremos um loop para [br]mostrar Winston indo até os 40 anos.
0:02:13.497,0:02:16.207
Ele não quer envelhecer mais [br]porque ficaria muito enrugado
0:02:16.257,0:02:19.250
e teríamos que chamá-lo[br]de "Winrugston." [risos]
0:02:19.250,0:02:20.320
Muito bem.
0:02:20.320,0:02:27.498
Com um loop while, digamos enquanto [br]winston ponto age é menor ou igual a 40
0:02:27.498,0:02:32.245
e então aqui dentro, mostraremos sua idade
0:02:32.245,0:02:37.586
e a incrementaremos de um
0:02:37.586,0:02:42.108
Ok, funcionou, mas tudo está sobreposto,[br]precisamos então mudar o y
0:02:42.108,0:02:53.250
a cada vez. Vamos tentar winston ponto [br]age vezes 20, menos 200, menos 300.
0:02:53.250,0:03:03.471
Isso! Menos 350. Apagando o código antigo.
0:03:03.471,0:03:10.283
Tcharam! Podemos ver Winston envelhecendo,[br]mas não a ponto de se tornar Winrugston.
0:03:10.283,0:03:16.421
Certo, agora que alteramos a idade, [br]podemos adicionar outras informações
0:03:16.421,0:03:22.145
no objeto Winston ao envelhecer. Talvez[br]ele encontre uma programadora aos 30
0:03:22.145,0:03:24.843
chamada Winnefer, e se case com ela.
0:03:24.843,0:03:28.979
Não porque ela tem um ótimo nome.
0:03:28.979,0:03:33.864
Para adicionar propriedades, podemos [br]escrever winston ponto e então o nome
0:03:33.864,0:03:39.338
da nova propriedade, que será[br]wife, igual a Winnerfer.
0:03:39.338,0:03:44.045
Ótimo, mas ele deve ter uma esposa só [br]quando tiver uma idade boa para se casar
0:03:44.045,0:03:53.138
digamos, 30, então movemos[br]isso aqui dentro.
0:03:53.138,0:03:57.759
Agora que ele está casado e feliz,[br]vocês sabem, alguns anos depois,
0:03:57.759,0:04:04.204
vêm as crianças, digamos, 32, [br]adicionaremos crianças ao objeto
0:04:04.204,0:04:08.198
e eles terão gêmeos, é claro,[br]são muito eficientes,
0:04:08.198,0:04:16.870
que se chamarão Winston Jr, e Winstonia.
0:04:16.870,0:04:21.851
Lindo. Linda família. Ótimos nomes.
0:04:21.851,0:04:25.395
Veja que as novas propriedades podem ter [br]valores do tipo string ou array
0:04:25.395,0:04:28.516
ou qualquer tipo que poderíamos[br]ter no objeto original.
0:04:28.516,0:04:33.530
e quando o laço terminar, Winston terá 40[br]anos, estará casado com Winnefer,
0:04:33.530,0:04:41.096
e será pai de gêmeos, cujos nomes estarão[br]armazenados em um array.
0:04:41.096,0:04:45.943
Uff. É um laço incrível. Mas se você [br]não gostou do final da história,
0:04:45.943,0:04:50.050
pode continuar o programa, dando ao[br]Winston o futuro que você deseja,
0:04:50.180,0:04:53.150
agora que sabe tudo sobre alterar[br]propriedades de objetos.
0:04:53.150,0:04:58.000
[Traduzido por João Pereira Junior][br][Revisado por Alef Almeida]