[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.84,0:00:05.15,Default,,0000,0000,0000,,Estamos de volta! Dessa vez, nosso\Nprograma tem o objeto Winston Dialogue: 0,0:00:05.15,0:00:10.02,Default,,0000,0000,0000,,mas mostraremos somente sua idade.\NPorque eu quero te mostrar Dialogue: 0,0:00:10.02,0:00:13.72,Default,,0000,0000,0000,,como podemos mudar a idade de Winston.\NVocê sabe que eventualmente, Dialogue: 0,0:00:13.72,0:00:18.08,Default,,0000,0000,0000,,Winston tem que envelhecer. Vamos lembrar\Ncomo seria se estivéssemos Dialogue: 0,0:00:18.08,0:00:22.70,Default,,0000,0000,0000,,usando variáveis simples. Temos a variável\NWinstonAge igual a 19, e então se Dialogue: 0,0:00:22.70,0:00:27.09,Default,,0000,0000,0000,,quisermos alterá-la, atribuiríamos\Na ela o valor 20. Dialogue: 0,0:00:27.09,0:00:31.28,Default,,0000,0000,0000,,Isso mudaria o valor armazenado na\Nvariável. O processo é bem semelhante Dialogue: 0,0:00:31.28,0:00:39.48,Default,,0000,0000,0000,,para propriedades de objetos. Escrevemos \N{\i1}winston{\i0} ponto {\i1}age{\i0} igual a 20 e pronto Dialogue: 0,0:00:39.48,0:00:43.61,Default,,0000,0000,0000,,o valor da propriedade {\i1}age{\i0} do\Nobjeto {\i1}winston{\i0} foi alterado. Dialogue: 0,0:00:43.61,0:00:44.63,Default,,0000,0000,0000,,Legal. Dialogue: 0,0:00:44.63,0:00:48.57,Default,,0000,0000,0000,,Vejamos se funcionou. Pegarei nosso\Ncomando {\i1}text{\i0}, colocarei aqui em baixo, Dialogue: 0,0:00:49.06,0:00:54.02,Default,,0000,0000,0000,,mudando o {\i1}y{\i0}, Tcharam! Winston\Nficou mais velho. Muito fácil. Dialogue: 0,0:00:54.54,0:00:59.32,Default,,0000,0000,0000,,Hum, certo, estávamos adicionando um aqui, Dialogue: 0,0:00:59.32,0:01:07.31,Default,,0000,0000,0000,,vamos melhorar isso. Digamos {\i1}winston{\i0} ponto\N{\i1}age{\i0} é igual a {\i1}winston{\i0} ponto {\i1}age{\i0} mais um. Dialogue: 0,0:01:07.31,0:01:10.86,Default,,0000,0000,0000,,Que significa pegue o valor prévio de {\i1}age{\i0} Dialogue: 0,0:01:10.86,0:01:16.04,Default,,0000,0000,0000,,adicione um, e armazene na propriedade {\i1}age{\i0} Dialogue: 0,0:01:16.90,0:01:21.79,Default,,0000,0000,0000,,Isso abacará incrementando um, seja qual\Nfor o valor prévio. Vejamos. Dialogue: 0,0:01:22.96,0:01:25.64,Default,,0000,0000,0000,,Vamos mostrar, e tcharam! Ele tem 21 anos. Dialogue: 0,0:01:25.64,0:01:30.06,Default,,0000,0000,0000,,Está ficando tão velho. Certo, lembre-se\Nque há um atalho para incrementar um Dialogue: 0,0:01:30.06,0:01:36.80,Default,,0000,0000,0000,,a variáveis, também funciona com objetos, \Nbasta escrever {\i1}winston{\i0} ponto {\i1}age{\i0} mais mais Dialogue: 0,0:01:37.56,0:01:44.100,Default,,0000,0000,0000,,Será que funciona? Isso! Fez exatamente\No mesmo que essa linha Dialogue: 0,0:01:44.100,0:01:49.14,Default,,0000,0000,0000,,é um atalho, assim não\Ntemos que digitar tanto. Dialogue: 0,0:01:49.14,0:01:53.33,Default,,0000,0000,0000,,Olhando bem, parece que\Npodemos usar um loop aqui. Dialogue: 0,0:01:53.33,0:01:57.79,Default,,0000,0000,0000,,Estamos usando usando o mesmo código de \Nnovo, só para icrementar a propriedade Dialogue: 0,0:01:57.79,0:02:02.53,Default,,0000,0000,0000,,de idade, mudando o {\i1}y{\i0} para que\Nfiquem em linhas diferentes. Dialogue: 0,0:02:03.02,0:02:07.07,Default,,0000,0000,0000,,Se usarmos um loop, seria muito mais fácil\Nmostrar que ele está cada vez mais velho Dialogue: 0,0:02:07.07,0:02:13.50,Default,,0000,0000,0000,,com menos código. Faremos um loop para \Nmostrar Winston indo até os 40 anos. Dialogue: 0,0:02:13.50,0:02:16.21,Default,,0000,0000,0000,,Ele não quer envelhecer mais \Nporque ficaria muito enrugado Dialogue: 0,0:02:16.26,0:02:19.25,Default,,0000,0000,0000,,e teríamos que chamá-lo\Nde "Winrugston." [risos] Dialogue: 0,0:02:19.25,0:02:20.32,Default,,0000,0000,0000,,Muito bem. Dialogue: 0,0:02:20.32,0:02:27.50,Default,,0000,0000,0000,,Com um loop {\i1}while{\i0}, digamos enquanto \N{\i1}winston{\i0} ponto {\i1}age{\i0} é menor ou igual a 40 Dialogue: 0,0:02:27.50,0:02:32.24,Default,,0000,0000,0000,,e então aqui dentro, mostraremos sua idade Dialogue: 0,0:02:32.24,0:02:37.59,Default,,0000,0000,0000,,e a incrementaremos de um Dialogue: 0,0:02:37.59,0:02:42.11,Default,,0000,0000,0000,,Ok, funcionou, mas tudo está sobreposto,\Nprecisamos então mudar o {\i1}y{\i0} Dialogue: 0,0:02:42.11,0:02:53.25,Default,,0000,0000,0000,,a cada vez. Vamos tentar {\i1}winston{\i0} ponto \N{\i1}age{\i0} vezes 20, menos 200, menos 300. Dialogue: 0,0:02:53.25,0:03:03.47,Default,,0000,0000,0000,,Isso! Menos 350. Apagando o código antigo. Dialogue: 0,0:03:03.47,0:03:10.28,Default,,0000,0000,0000,,Tcharam! Podemos ver Winston envelhecendo,\Nmas não a ponto de se tornar Winrugston. Dialogue: 0,0:03:10.28,0:03:16.42,Default,,0000,0000,0000,,Certo, agora que alteramos a idade, \Npodemos adicionar outras informações Dialogue: 0,0:03:16.42,0:03:22.14,Default,,0000,0000,0000,,no objeto Winston ao envelhecer. Talvez\Nele encontre uma programadora aos 30 Dialogue: 0,0:03:22.14,0:03:24.84,Default,,0000,0000,0000,,chamada Winnefer, e se case com ela. Dialogue: 0,0:03:24.84,0:03:28.98,Default,,0000,0000,0000,,Não porque ela tem um ótimo nome. Dialogue: 0,0:03:28.98,0:03:33.86,Default,,0000,0000,0000,,Para adicionar propriedades, podemos \Nescrever {\i1}winston{\i0} ponto e então o nome Dialogue: 0,0:03:33.86,0:03:39.34,Default,,0000,0000,0000,,da nova propriedade, que será\N{\i1}wife{\i0}, igual a Winnerfer. Dialogue: 0,0:03:39.34,0:03:44.04,Default,,0000,0000,0000,,Ótimo, mas ele deve ter uma esposa só \Nquando tiver uma idade boa para se casar Dialogue: 0,0:03:44.04,0:03:53.14,Default,,0000,0000,0000,,digamos, 30, então movemos\Nisso aqui dentro. Dialogue: 0,0:03:53.14,0:03:57.76,Default,,0000,0000,0000,,Agora que ele está casado e feliz,\Nvocês sabem, alguns anos depois, Dialogue: 0,0:03:57.76,0:04:04.20,Default,,0000,0000,0000,,vêm as crianças, digamos, 32, \Nadicionaremos crianças ao objeto Dialogue: 0,0:04:04.20,0:04:08.20,Default,,0000,0000,0000,,e eles terão gêmeos, é claro,\Nsão muito eficientes, Dialogue: 0,0:04:08.20,0:04:16.87,Default,,0000,0000,0000,,que se chamarão Winston Jr, e Winstonia. Dialogue: 0,0:04:16.87,0:04:21.85,Default,,0000,0000,0000,,Lindo. Linda família. Ótimos nomes. Dialogue: 0,0:04:21.85,0:04:25.40,Default,,0000,0000,0000,,Veja que as novas propriedades podem ter \Nvalores do tipo {\i1}string{\i0} ou {\i1}array{\i0} Dialogue: 0,0:04:25.40,0:04:28.52,Default,,0000,0000,0000,,ou qualquer tipo que poderíamos\Nter no objeto original. Dialogue: 0,0:04:28.52,0:04:33.53,Default,,0000,0000,0000,,e quando o laço terminar, Winston terá 40\Nanos, estará casado com Winnefer, Dialogue: 0,0:04:33.53,0:04:41.10,Default,,0000,0000,0000,,e será pai de gêmeos, cujos nomes estarão\Narmazenados em um {\i1}array{\i0}. Dialogue: 0,0:04:41.10,0:04:45.94,Default,,0000,0000,0000,,Uff. É um laço incrível. Mas se você \Nnão gostou do final da história, Dialogue: 0,0:04:45.94,0:04:50.05,Default,,0000,0000,0000,,pode continuar o programa, dando ao\NWinston o futuro que você deseja, Dialogue: 0,0:04:50.18,0:04:53.15,Default,,0000,0000,0000,,agora que sabe tudo sobre alterar\Npropriedades de objetos. Dialogue: 0,0:04:53.15,0:04:58.00,Default,,0000,0000,0000,,[Traduzido por João Pereira Junior]\N[Revisado por Alef Almeida]