1
00:00:00,340 --> 00:00:07,040
Oi e bem vindo de volta ao curso e este vídeo vai começar a fazer programação orientada a objeto.

2
00:00:07,320 --> 00:00:13,070
Agora, este é um assunto bastante assustador quando você está começando, mas não é assim tão difícil.

3
00:00:14,390 --> 00:00:18,590
Você só acha que precisa lembrar que a programação orientada a objetos tem um nome realmente bom.

4
00:00:19,970 --> 00:00:27,100
Programação Orientada a Objetos realmente encoraja você a pensar em coisas como coisas.

5
00:00:27,110 --> 00:00:32,390
Por exemplo, se você olha para algo que tem na sua frente, como

6
00:00:32,390 --> 00:00:42,680
um laptop ou um computador de mesa, eles têm várias propriedades, como a cor ou o Super Power dele, ou mesmo o layout do teclado

7
00:00:42,920 --> 00:00:46,050
ou qualquer outro número de outros. coisas.

8
00:00:46,850 --> 00:00:54,980
E eles também têm várias coisas que podem realizar várias ações que podem realizar ou executar, como

9
00:00:54,980 --> 00:00:59,290
ligar ou desligar ou salvar um documento, por exemplo.

10
00:00:59,600 --> 00:01:03,010
E de fato o mesmo aconteceria com todos os outros objetos que estão ao seu redor.

11
00:01:03,200 --> 00:01:06,520
Todos os objetos possuem um certo número de propriedades.

12
00:01:06,920 --> 00:01:12,830
E estas são várias ações e você pode simplificá-las ou complicá-las tanto quanto quiser.

13
00:01:12,830 --> 00:01:17,780
Por exemplo, há um laptop ou desktop na frente de você.

14
00:01:18,000 --> 00:01:25,310
Tem realmente uma propriedade super speed ou é uma propriedade de outro objeto que não está dentro

15
00:01:25,310 --> 00:01:26,560
do seu laptop?

16
00:01:26,720 --> 00:01:27,680
O processador

17
00:01:30,830 --> 00:01:38,960
pensando nessas coisas e percebendo que os objetos realmente são composições de outros objetos e, na verdade, todos

18
00:01:38,960 --> 00:01:44,750
os objetos têm essas propriedades e esses métodos, eles podem fazer essas ações.

19
00:01:44,930 --> 00:01:50,510
E se você começar a pensar em coisas ao seu redor dessa maneira, isso simplificará a

20
00:01:50,510 --> 00:01:53,960
maneira como você interage com a programação como um todo.

21
00:01:54,000 --> 00:01:59,570
Portanto, perceba que tudo pode ser decomposto em várias propriedades e várias

22
00:01:59,570 --> 00:02:01,150
ações ou métodos.

23
00:02:01,190 --> 00:02:08,170
E quando você faz isso, percebe que tudo o que você quer fazer na programação pode ser um objeto.

24
00:02:08,230 --> 00:02:13,430
Por exemplo, se você quiser interagir com uma impressora, você teria um objeto de impressora.

25
00:02:13,870 --> 00:02:19,680
Se você quiser interagir especificamente com a impressora Canon que possui uma propriedade específica

26
00:02:19,690 --> 00:02:28,340
que nenhuma outra impressora possui, a impressora Canon também pode ser outro objeto se você tiver alunos em seu banco de dados.

27
00:02:28,350 --> 00:02:34,650
Você pode querer criar objetos do aluno porque todos os alunos têm certas propriedades que

28
00:02:34,740 --> 00:02:39,390
um aluno para outro pode ter valores diferentes para essas propriedades.

29
00:02:39,420 --> 00:02:43,350
Por exemplo, um deve e pode ter cabelos loiros e o outro pode ter cabelos castanhos, mas

30
00:02:43,350 --> 00:02:44,370
ambos têm o cabelo.

31
00:02:44,610 --> 00:02:45,820
Ou eles podem não ter cabelo.

32
00:02:45,900 --> 00:02:54,900
Na verdade, mas nenhum cabelo é também uma propriedade que o cabelo dentro da bússola, como você pode ter cabelos longos ou curtos

33
00:02:54,900 --> 00:02:57,570
ou sem cabelo ou uma cabeça raspada.

34
00:02:57,570 --> 00:03:03,330
Portanto, todas essas propriedades e, de fato, todas as ações que os alunos poderiam fazer poderiam

35
00:03:03,420 --> 00:03:06,830
ser incluídas no que é chamado de objeto Student.

36
00:03:06,850 --> 00:03:17,740
Então, essas propriedades, como a cor do cabelo ou o comprimento do cabelo ou se podem andar ou

37
00:03:17,830 --> 00:03:19,730
correr ou comer.

38
00:03:19,780 --> 00:03:22,840
Estes não são definidos em uma base por objeto.

39
00:03:22,840 --> 00:03:29,440
Se você tivesse que fazer isso, então você teria que dizer que eu vou concordar com uma coisa aqui chamada Joe e

40
00:03:29,440 --> 00:03:35,960
Joe pode comer e Joe pode andar e Joe pode correr e então eu vou criar uma coisa diferente inteiramente aqui chamada

41
00:03:36,450 --> 00:03:42,400
Anna Ann e eu podemos comer e eu posso andar e ela pode correr e então você teria que fazer

42
00:03:42,460 --> 00:03:44,960
isso para cada aluno que você já teve.

43
00:03:45,340 --> 00:03:48,200
E isso seria muita digitação.

44
00:03:48,430 --> 00:03:49,900
Então, obviamente, não queremos fazer isso.

45
00:03:49,900 --> 00:03:56,170
Nós não queremos estar definindo cada aluno como sua própria coisa.

46
00:03:56,290 --> 00:04:04,490
Então, o que queremos fazer é dizer que todos os alunos têm uma cor de cabelo e todos têm a marca a.

47
00:04:04,500 --> 00:04:06,850
Todos eles têm um diploma que estão fazendo.

48
00:04:07,130 --> 00:04:08,960
E agora podemos ver.

49
00:04:09,480 --> 00:04:16,920
E Ralph é um estudante então ele deve ter essas propriedades e nós podemos simplesmente dizer que a cor do cabelo de Rahlves

50
00:04:16,920 --> 00:04:22,790
é loira e o grau que ele está fazendo é ciência da computação e Anna tem a cor

51
00:04:22,830 --> 00:04:26,460
do cabelo marrom e o gêmeo verde é computação aplicada por exemplo.

52
00:04:26,460 --> 00:04:31,800
E agora todos esses alunos não são o mesmo tipo de coisa do mesmo tipo de coisa.

53
00:04:32,040 --> 00:04:38,070
Mas todos eles têm seus próprios valores individuais para as propriedades, embora saibamos que

54
00:04:38,070 --> 00:04:45,770
todos eles têm as mesmas propriedades, então sabemos se com meu desabafo aqui ou um monólogo Vamos ver

55
00:04:45,770 --> 00:04:47,740
se podemos criar um objeto.

56
00:04:47,860 --> 00:04:55,720
Então, a maneira como abordaremos isso, vamos dizer que todas as coisas que usamos em nosso aplicativo,

57
00:04:55,990 --> 00:05:02,500
por enquanto, serão modelos e esses modelos são como se esperasse algo que modelasse

58
00:05:02,500 --> 00:05:04,220
algo da vida real.

59
00:05:04,340 --> 00:05:09,910
Assim, por exemplo, o post em nosso blog é algo da vida real, poderia ser um pedaço de papel que tem

60
00:05:09,910 --> 00:05:14,140
um título e tem algum tipo de conteúdo e tem uma data em que foi escrito.

61
00:05:14,140 --> 00:05:19,800
Então, vamos criar um pacote do Python chamado models e, em seguida, clicaremos com o

62
00:05:19,800 --> 00:05:23,770
botão direito e criaremos um novo arquivo de encanamento chamado Post.

63
00:05:23,960 --> 00:05:25,850
E agora vamos definir isso.

64
00:05:26,010 --> 00:05:34,970
Esta parte do programa que especifica que as postagens como um tipo geral de coisa tem

65
00:05:35,000 --> 00:05:41,890
um conteúdo e tem um nome e um autor e um título.

66
00:05:41,900 --> 00:05:44,680
Então, para fazer isso, usamos o que chamamos de classe.

67
00:05:44,790 --> 00:05:54,500
Então, esse tipo de coisa que tem um conteúdo, um autor e um título, esse tipo de coisa é uma coisa de classe.

68
00:05:55,360 --> 00:06:04,050
Assim, podemos classificar essas coisas que têm essas propriedades compartilhadas como a mesma classe da mesma coisa.

69
00:06:04,180 --> 00:06:06,860
Então, esses não serão todos

70
00:06:10,860 --> 00:06:22,970
postados, então Wesley não me diga que essa classe de tipo post é, na verdade, um objeto que tem várias propriedades e várias

71
00:06:22,970 --> 00:06:24,710
coisas que pode fazer.

72
00:06:25,100 --> 00:06:28,270
Então é por isso que colocamos o objeto aqui entre os colchetes.

73
00:06:28,310 --> 00:06:31,740
Nós vemos este post vem de um objeto.

74
00:06:31,740 --> 00:06:38,640
Assim, podemos tratá-lo como um objeto e também especificar um certo número de propriedades

75
00:06:38,640 --> 00:06:41,240
que ele também possui, além

76
00:06:45,150 --> 00:06:50,760
de ser um objeto. Em seguida, especificamos quais propriedades cada publicação terá.

77
00:06:50,950 --> 00:06:52,930
E nós fazemos isso no método init.

78
00:06:53,950 --> 00:07:00,610
O método init significa inicializar e é o método que é chamado quando você diz que eu vou criar uma nova

79
00:07:00,610 --> 00:07:05,770
coisa que é um post e essa nova coisa que supostamente terá o seguinte conteúdo no

80
00:07:05,850 --> 00:07:07,890
título a seguir, por exemplo .

81
00:07:08,020 --> 00:07:17,560
Então nós ouvimos dizer "eu", que é essa coisa que você está criando, porque esse é o meu título.

82
00:07:19,050 --> 00:07:27,830
E, em seguida, conteúdo auto-didata é igual a Este conteúdo é conteúdo de algumas coisas que o autor é José, que é

83
00:07:30,060 --> 00:07:30,680
eu OK.

84
00:07:31,700 --> 00:07:38,870
Agora vamos voltar ao nosso aplicativo e remover tudo isso e, em vez disso, vamos criar nosso primeiro

85
00:07:38,870 --> 00:07:39,390
post.

86
00:07:39,530 --> 00:07:46,550
Então, vamos dizer que postar post é igual e teremos que importar este post de nossos modelos e não

87
00:07:46,550 --> 00:07:47,860
postar o arquivo.

88
00:07:48,170 --> 00:07:55,460
Então modelos não postam um arquivo que nós temos aqui é o container da nossa classe que estamos importando qual

89
00:07:55,580 --> 00:08:00,980
é o post com um P maiúsculo e depois vemos nossa variável chamada post.

90
00:08:00,980 --> 00:08:06,770
Lembre-se de que você pode chamar isso do que quiser, é uma instância dessa classe.

91
00:08:06,770 --> 00:08:08,390
Basicamente, temos post.

92
00:08:08,390 --> 00:08:10,750
Não podemos postar em postagens iguais.

93
00:08:10,790 --> 00:08:16,380
Então agora esses dois são exatamente como no exemplo do aluno os diferentes posts.

94
00:08:16,380 --> 00:08:24,150
Pense nisso diferentes pedaços de papel com diferentes títulos diferentes conteúdos diferentes autores.

95
00:08:24,170 --> 00:08:38,050
No entanto, quando imprimimos o conteúdo Post-point e, em seguida, imprimimos o post para o conteúdo do ponto, para que possamos ver se o

96
00:08:38,050 --> 00:08:38,820
executamos.

97
00:08:39,010 --> 00:08:43,210
Que ambos tenham exatamente o mesmo conteúdo.

98
00:08:43,220 --> 00:08:48,680
Agora isso não é nada para se surpreender, porque se formos a um arquivo de

99
00:08:48,680 --> 00:08:55,220
postagem, podemos ver que definimos aqui que o conteúdo do objeto que estamos criando é um conteúdo.

100
00:08:55,370 --> 00:09:03,260
Então, se vamos ao nosso aplicativo aqui estamos criando um post e o conteúdo para ele é que há algum conteúdo e estamos

101
00:09:03,900 --> 00:09:09,240
colocando esse objeto lá que tem esse conteúdo dentro de nossa variável e então colocamos em

102
00:09:09,240 --> 00:09:15,570
outro post que também tem algum conteúdo como seu conteúdo e estamos colocando esse post dentro da variável

103
00:09:15,600 --> 00:09:16,360
post também.

104
00:09:16,410 --> 00:09:20,660
Então, embora existam postagens diferentes, ambos têm o mesmo conteúdo.

105
00:09:20,790 --> 00:09:27,960
Se dissermos que publicar no conteúdo do ponto é igual a algum conteúdo diferente, nós o rodamos novamente.

106
00:09:28,400 --> 00:09:31,410
Nós não vemos esse conteúdo de ponto de postagem.

107
00:09:31,480 --> 00:09:39,050
Este é um conteúdo que é o padrão que definimos dentro do método init e o post 2 tem algum conteúdo

108
00:09:39,050 --> 00:09:42,070
diferente nele, que é o que mudamos aqui.

109
00:09:43,220 --> 00:09:48,710
Então, esses dois são coisas diferentes do mesmo tipo da mesma classe.

110
00:09:48,950 --> 00:09:55,730
E esta é a parte é para programação orientada a objeto, então parece que eu espero que seja simples o suficiente e eu sei que pode

111
00:09:55,730 --> 00:10:00,220
ser um pouco confuso no começo quando você está pensando que este é um homem de computador.

112
00:10:00,380 --> 00:10:04,550
Não há objetos, não há classes, não há coisas.

113
00:10:04,670 --> 00:10:07,220
Só conhece uns e zeros.

114
00:10:07,310 --> 00:10:08,870
Então, do que você está falando?

115
00:10:10,070 --> 00:10:14,930
E, claro, o computador não sabe que essas coisas são objetos e não sabe essas coisas.

116
00:10:14,930 --> 00:10:17,980
Postar tudo o que sabe é que há um monte de uns e zeros.

117
00:10:17,980 --> 00:10:26,460
Alguns entraram dentro do computador e através dos anos de programação nós viemos desenvolver o Python como uma linguagem na qual você

118
00:10:26,460 --> 00:10:33,360
pode fazer isso, você pode criar este tipo de abstração que nos permite entender o que está acontecendo

119
00:10:33,360 --> 00:10:35,640
de uma maneira muito mais fácil.

120
00:10:36,380 --> 00:10:44,570
E assim, para nós, faz sentido pensar nisso como coisas que estão no mundo real.

121
00:10:44,640 --> 00:10:49,610
Dois pedaços de papel com algumas propriedades que fazem sentido para nós como pessoas.

122
00:10:49,620 --> 00:10:53,210
Não faz sentido para o computador, é claro.

123
00:10:53,490 --> 00:10:59,550
Mas a chave aqui é nos fazer entender o que está acontecendo para que possamos fazer programas

124
00:10:59,550 --> 00:11:06,720
que podemos fazer software de forma rápida e fácil, mesmo que isso seja uma complexidade adicional de ter esses objetos

125
00:11:07,170 --> 00:11:11,890
e ter que tratá-los como tal no computador faz o computador ir Mais devagar.

126
00:11:12,060 --> 00:11:14,910
Isso nos faz ir mais rápido e esse é o ponto principal disso.

127
00:11:14,910 --> 00:11:19,470
Então pense nisso como coisas na vida real, porque esse é o ponto de Pablito na programação.

128
00:11:23,980 --> 00:11:27,290
Obviamente, poderíamos fazer isso, poderíamos criar algum conteúdo padrão.

129
00:11:27,290 --> 00:11:29,660
Ou sempre que você criar um novo post, o título é.

130
00:11:29,680 --> 00:11:30,490
Este é meu título.

131
00:11:30,490 --> 00:11:35,490
O conteúdo é este é algum conteúdo e o autor está dizendo que você poderia fazer isso em casa.

132
00:11:35,620 --> 00:11:40,390
No entanto, isso seria um pouco limitante porque, quando você cria uma postagem e deseja alterar

133
00:11:40,390 --> 00:11:44,070
o conteúdo, é necessário adicionar outra linha que altere o conteúdo dela.

134
00:11:45,040 --> 00:11:51,430
Então, em vez disso, o que podemos fazer é ver o self colocar uma vírgula e ver o conteúdo do título

135
00:11:51,430 --> 00:11:52,960
e o autor e passar

136
00:12:00,720 --> 00:12:07,170
esses três parâmetros, então o que faremos é ver o título autodidata, que é o objeto que criamos o título. passamos

137
00:12:07,170 --> 00:12:11,500
o método de conteúdo auto-dual é o conteúdo que passamos o método in it.

138
00:12:11,700 --> 00:12:24,030
Então, para o autor é o autor, nós passamos o método único e então aqui temos que dizer, postar um título, postar

139
00:12:24,030 --> 00:12:27,590
um conteúdo, postar um oficial e

140
00:12:30,900 --> 00:12:38,180
vou copiar isso e alterá-lo para postar, para que não precisemos mais disso.

141
00:12:38,180 --> 00:12:44,560
E agora, se imprimirmos isso, veremos que o conteúdo pós-branco e a postagem no conteúdo serão impressos, porque

142
00:12:44,560 --> 00:12:47,060
foi isso que passamos no método init.

143
00:12:47,050 --> 00:12:53,270
Então agora o post fica inicializado com esse título esse conteúdo e esse autor e esse outro post fica inicializado

144
00:12:53,320 --> 00:12:55,550
com esse título esse conteúdo esse ou.

145
00:12:56,760 --> 00:13:00,000
Isso simplifica um pouco o processo de criação.

146
00:13:00,010 --> 00:13:07,540
Agora podemos criar um novo objeto do tipo post já inicializado com algumas propriedades que conhecemos

147
00:13:07,540 --> 00:13:08,310
de antemão.

148
00:13:08,320 --> 00:13:14,860
Assim, por exemplo, quando nosso usuário do aplicativo vier escrever um novo post, pediremos um título para ele e pediremos

149
00:13:14,860 --> 00:13:20,060
algum conteúdo para ele e isso criará um novo objeto com nosso título e esse conteúdo.

150
00:13:20,210 --> 00:13:23,340
Então, isso é o que é programação orientada a objetos.

151
00:13:23,360 --> 00:13:25,950
E eu entendo que esse vídeo foi um pouco denso.

152
00:13:26,000 --> 00:13:31,280
Há muito de mim falando e não muito fazendo, mas espero ajudá-lo a entender e vai ajudar

153
00:13:31,310 --> 00:13:37,580
você nas próximas seções para entender realmente o que está acontecendo em novembro, se você quiser pesquisar isso um pouco

154
00:13:37,580 --> 00:13:42,230
mais, eu encorajo você a fazer isso e tentar para entender e pensar em outras

155
00:13:42,470 --> 00:13:47,250
coisas ao seu redor como objetos que possuem propriedades que possuem algumas ações que podemos fazer.

156
00:13:47,960 --> 00:13:52,670
Então, até o próximo vídeo, vamos implementar este post um pouco mais detalhadamente e ver as

157
00:13:52,670 --> 00:13:55,810
coisas que ele contém são as coisas que podemos fazer.

158
00:13:56,270 --> 00:14:00,770
Então você esperançosamente estava tudo bem para vocês e eu vou te ver nos próximos.
