YouTube2Text

Herança em Python explicada como nunca fizeram - Curso Python POO: Aula 7 — Transcript

by Curso em Vídeo · 9,325 words · 1,367 segments · language en · Watch on YouTube

Full transcript

  1. 0:00Chegamos aqui a mais uma fase do seu
  2. 0:02curso e vídeo de Python com programação
  3. 0:03orientadas ao objeto. E nesse vídeo
  4. 0:05aqui, que é a fase sete, a gente vai
  5. 0:07responder a cinco perguntas. Em primeiro
  6. 0:09lugar e muito importante, quais são os
  7. 0:11pilares da programação orientada a
  8. 0:13objeto? Por falar em pilares, que que
  9. 0:15significa herança? O seu professor te
  10. 0:17explicou o que que é herança, mas ficou
  11. 0:18um pouco confuso. Relaxa que agora você
  12. 0:20vai entender. E a gente vai explicar
  13. 0:22termos como superclasse, subclasse,
  14. 0:25generalização, especialização. E por
  15. 0:28fim, nós vamos aprender como programar,
  16. 0:31como fazer, programar o mecanismo de
  17. 0:32herança utilizando linguagem pipe. Então
  18. 0:34já vai deixando o like, compartilha essa
  19. 0:36aula com a galera porque esse conceito
  20. 0:38tem muita gente que se enrola e eu vou
  21. 0:39desenrolar sua cachola. [música]
  22. 0:56Olá, pequeno gafanhoto. Seja muito
  23. 0:57bem-vindo, muito bem-vinda a mais uma
  24. 0:59aula aqui do seu curso em vídeo de
  25. 1:01programação orientada objeto com
  26. 1:02linguagem Pipon. O meu nome é Gustavo
  27. 1:03Guanabara, eu sou seu professor e agora
  28. 1:06nós chegamos à fase sete do seu curso,
  29. 1:08onde a gente vai falar sobre herança. A
  30. 1:10gente vai dar os primeiros passos sobre
  31. 1:12o mecanismo de herança. A gente vai
  32. 1:13começar a falar sobre os pilares agora.
  33. 1:15E eu sei que talvez em alguma aula
  34. 1:16anterior eu tenha falado que o primeiro
  35. 1:18pilar que a gente vai ver é a abstração.
  36. 1:20Só que me organizando aqui os conteúdos,
  37. 1:22eu senti que é mais fácil a gente falar
  38. 1:23o basicão de herança primeiro, depois a
  39. 1:26gente vai pra abstração, já é o vídeo
  40. 1:27logo em seguida. E aí, explicando esse
  41. 1:29basicão de herança e logo abstração, vai
  42. 1:32ficar mais fácil de entrar na sua
  43. 1:33cabeça. Pode confiar no tio que o tio
  44. 1:35sabe o que tá fazendo. E antes de
  45. 1:37começar tudo, eu quero deixar um recado
  46. 1:38muito importante. Acabaram de passar
  47. 1:41alguns desafios. Se você olhar na
  48. 1:43playlist completa, ó, clicando aqui em
  49. 1:44cima, você vai pra playlist completa e
  50. 1:46se você der uma olhadinha lá, tem sete
  51. 1:48desafios para fazer. Não faça nada dessa
  52. 1:50aula antes de realizar os sete desafios.
  53. 1:53E não é só assistir o vídeo, não é
  54. 1:55fazer, porque senão lá na frente você
  55. 1:56vai falar assim: "Nossa, não tô
  56. 1:57entendendo nada, não tô conseguindo
  57. 1:58fazer nada". Se você não fez os desafios
  58. 2:00que acabaram de passar, você pulou
  59. 2:02etapas. E se você olhar lá no início do
  60. 2:04módulo, eu falei: "Não pule nenhum
  61. 2:06vídeo, porque lá na frente, se você se
  62. 2:07enrolar, a culpa não é minha, a culpa é
  63. 2:09tua". E logo depois desse esporro
  64. 2:11podemos começar nossa aula, mas não
  65. 2:13antes sem um recado do nosso apoiador.
  66. 2:16Eu já falei da Fetec aqui no curso em
  67. 2:18vídeo de Python e você já sabe que eles
  68. 2:20oferecem a grande oportunidade de mudar
  69. 2:21a vida de jovens aqui do estado do Rio
  70. 2:23de Janeiro. Só que dessa vez quem vai
  71. 2:25dar o recado aqui não sou eu, são os
  72. 2:26próprios alunos da Fitec. Dá só uma
  73. 2:28olhada aqui.
  74. 2:32>> Imagine estudar de graça, aprender uma
  75. 2:33profissão e já sair pronto pro mercado
  76. 2:35de trabalho. A Fech faz isso acontecer e
  77. 2:38tá mudando vidas em toda RJ.
  78. 2:41>> Nos últimos 5 anos, foram mais de
  79. 2:43200.000 vagas abertas, 3.000
  80. 2:45oportunidades de estágio, 15 novas
  81. 2:48[música] unidades e 42 laboratórios de
  82. 2:50iniciação científica criados.
  83. 2:53>> Hoje são mais [música] de 70.000 1
  84. 2:54alunos por ano, estudando em mais de
  85. 2:561000 cursos gratuitos que abrem portas e
  86. 2:59constróem futuros.
  87. 3:00>> E agora [música] é a sua vez de fazer
  88. 3:01parte dessa história. As inscrições para
  89. 3:03o primeiro semestre de 2026 já estão
  90. 3:05abertas. São mais de 7500 vagas
  91. 3:07distribuídas [música] em mais de 70
  92. 3:09cursos por todo o estado.
  93. 3:10>> É oportunidade para educação infantil
  94. 3:12fundamental, média e cursos técnicas
  95. 3:15>> ensino superior e até nacord referência
  96. 3:18internacional em gastronomia. Mas fiquem
  97. 3:20ligados que as inscrições só vão até o
  98. 3:22dia 6 de novembro de 2025. FedEc, a
  99. 3:25fábrica de sonhos do Bob RJ.
  100. 3:27>> Então, se você mora no estado do Rio de
  101. 3:29Janeiro ou conhece alguém que more, não
  102. 3:31deixa de divulgar essas informações. São
  103. 3:32cursos de extensão, médio técnico,
  104. 3:35integrado e subsequente e também tem
  105. 3:37curso de graduação, inclusive nas áreas
  106. 3:39de tecnologia. Obrigado Rede Fight pelo
  107. 3:41apoio institucional e você volta aí pro
  108. 3:43seu vídeo.
  109. 3:46E se você pulou o recado do apoiador,
  110. 3:48você não tá ajudando a gente. Coisas que
  111. 3:50ajudam a gente assistir os apoiadores,
  112. 3:52deixar seus comentários aqui embaixo,
  113. 3:54compartilhar as aulas com a galera e
  114. 3:56principalmente exercitar tudo, porque aí
  115. 3:58o maior ajudado vai ser você. E vamos
  116. 4:00começar, como eu tinha prometido
  117. 4:02anteriormente, a falar sobre os pilares.
  118. 4:04A programação orientada objeto,
  119. 4:06dependendo do livro, dependendo da
  120. 4:07vertente que você vai estudar, considera
  121. 4:09três ou quatro pilares. Tem alguns
  122. 4:11livros que consideram até mais. Se você
  123. 4:13fez o curso de programação orientada a
  124. 4:14objeto mais antigo daqui, a gente
  125. 4:16considerou três. Mas dentro desses três,
  126. 4:17a gente falou sobre abstração, que não
  127. 4:19era um dos três, né? Nesse curso
  128. 4:20anterior a gente considerou
  129. 4:22encapsulamento, herança e polimorfismo.
  130. 4:24Só que agora eu acrescentei abstração
  131. 4:26para deixar tudo mais completo,
  132. 4:27considerando esse pilar. Então, o
  133. 4:29primeiro pilar que a gente vai anunciar
  134. 4:31aqui para você é o pilar da abstração,
  135. 4:33que basicamente é a capacidade de
  136. 4:35simplificar as coisas e deixar o
  137. 4:38desnecessário, redundante para lá. Você
  138. 4:40vai ver isso logo no próximo vídeo. O
  139. 4:42próximo pilar que eu vou citar aqui é o
  140. 4:44encapsulamento. O encapsulamento ele vai
  141. 4:46proteger partes importantes do seu
  142. 4:48código. Mais para frente a gente vai ver
  143. 4:49um pouquinho mais sobre encapsulamento.
  144. 4:51É o terceiro pilar que a gente vai falar
  145. 4:52aqui na ordem nova que eu coloquei aqui
  146. 4:54na explicação. Eu só tô deixando nessa
  147. 4:56ordem que tá aqui porque é a ordem que
  148. 4:57normalmente aparece nos livros. O
  149. 4:59próximo pilar que eu vou citar é sim a
  150. 5:01herança, que é esse pilar que a gente
  151. 5:02vai ver aqui agora, que ele trata da
  152. 5:04hierarquia dos dados. Se você souber
  153. 5:06utilizar superclasses e subclasses,
  154. 5:08fazer generalizações e especializações,
  155. 5:11teu código vai ficar mais completo. E
  156. 5:13por fim, o último pilar, que é o terror
  157. 5:15de todo mundo, mas é tranquilo, é o
  158. 5:16polimorfismo. Talvez porque o nome seja
  159. 5:18diferente, né? Um nome que dá a
  160. 5:20impressão de que é um pouquinho mais
  161. 5:21difícil, mas relaxa, lá na frente eu vou
  162. 5:23te mostrar minha teoria. O polimorfismo
  163. 5:25permite que você desempenhe talvez
  164. 5:27atividades de mesmo nome de formas
  165. 5:29diferentes, utilizando herança,
  166. 5:31utilizando abstração. Por isso que ele é
  167. 5:32o último pilar sempre citado e é o
  168. 5:34último que a gente vai ver também. Mas o
  169. 5:35que você precisa saber agora é
  170. 5:37exatamente isso daqui. Quais são os
  171. 5:38quatro pilares? Abstração,
  172. 5:40encapsulamento, herança e polimorfismo.
  173. 5:43Nessa aula, como você já deve ter visto
  174. 5:44e tá até escrito no título, nós vamos
  175. 5:46falar sobre herança. O conceito de
  176. 5:48herança que você pode ver em vários
  177. 5:50livros é esse daqui. É um
  178. 5:52relacionamento, eu acrescentaria, é o
  179. 5:54relacionamento do tipo E1, tu pode até
  180. 5:56colocar aí, depois a gente vai ver isso,
  181. 5:58entre itens gerais, que são os
  182. 6:00ancestrais, e tipos mais específicos,
  183. 6:02que são os descendentes desses itens,
  184. 6:04que herdam atributos e métodos dos
  185. 6:06níveis superiores. E se você olhar isso
  186. 6:08daqui e fal assim: "Caramba, e agora? Eu
  187. 6:09não entendi nada. Relaxa, eu vou
  188. 6:12simplificar para você. Mas se você, sei
  189. 6:14lá, cair numa prova para você marcar a
  190. 6:16opção que define herança, cara, algo que
  191. 6:18parece que isso daqui. Eu tenho itens
  192. 6:20superiores, que são os ascendentes, os
  193. 6:22ancestrais. Eu tenho itens inferiores,
  194. 6:24que são os descendentes ou derivados. E
  195. 6:27os derivados, os de baixo, herdam, né,
  196. 6:30ganham características dos superiores. É
  197. 6:32basicamente isso, características e
  198. 6:34comportamentos. Esse é o conceito básico
  199. 6:37e científico de herança. Anota aí para
  200. 6:39ficar registrada a parte bonitinha, a
  201. 6:41parte técnica. e acrescenta aí na parte
  202. 6:43técnica, né, já que você tá anotando,
  203. 6:45quais são as principais vantagens que a
  204. 6:46gente encontra nos livros aí também em
  205. 6:48relação à herança. E a primeira grande
  206. 6:50vantagem que eu vou colocar aqui é a
  207. 6:52reutilização de código. Isso porque se
  208. 6:54você escreve uma classe superior bem
  209. 6:58escrito, já já você vai ver isso
  210. 6:59funcionando, você pode utilizar elas em
  211. 7:01outro projeto, você pode utilizar em
  212. 7:04outras classes internas do mesmo
  213. 7:05projeto, se você souber herdar
  214. 7:07direitinho. Então, o reuso de código
  215. 7:09geralmente é a maior vantagem citada
  216. 7:11sempre em herança. Outra grande vantagem
  217. 7:13é a organização hierárquica. Um sistema
  218. 7:15bem organizado é um sistema muito mais
  219. 7:18fácil de ler, muito mais fácil de
  220. 7:20manter, inclusive tá na lista aqui.
  221. 7:21Então, a herança ela permite a
  222. 7:23hierarquização. Você vai ver que existe
  223. 7:25uma hierarquia nessa aula que você já
  224. 7:27vai ver. E como eu acabei de citar, a
  225. 7:29herança também traz facilidade de
  226. 7:30manutenção, já que o sistema ele é
  227. 7:32hierarquicamente organizado. A
  228. 7:34manutenção fica mais fácil. Se você
  229. 7:36mexer numa classe de cima, todas as de
  230. 7:38baixo são beneficiadas por essa
  231. 7:40alteração. Então isso facilita bastante
  232. 7:41a manutenção. A próxima grande vantagem,
  233. 7:43a extensibilidade, que é basicamente
  234. 7:45isso que eu acabei de citar ali também,
  235. 7:47que é quando você faz uma alteração numa
  236. 7:49classe, todas as classes que estão
  237. 7:50abaixo dela já ganham esse benefício,
  238. 7:52né? ganham essas novas funcionalidades e
  239. 7:54eu não preciso fazer alteração em cada
  240. 7:56um de baixo. Se eu alteri na de cima,
  241. 7:58ele é extensível, ele vai
  242. 8:00automaticamente todas as de baixo já
  243. 8:01ganham esse upgrade. E a herança também
  244. 8:04dá suporte a polimorfismo. Não existe
  245. 8:06polimorfismo sem herança na grande
  246. 8:08maioria dos polimorfismos. Existe um que
  247. 8:10dá para fazer, mas na grande maioria só
  248. 8:13com herança. Então a herança dá o
  249. 8:14suporte ao polimorfismo. Lá na frente
  250. 8:16você vai entender melhor isso. Então se
  251. 8:18você pegar na maioria dos livros aí de
  252. 8:20programação orientada objeto, né, e
  253. 8:21concurso, se você tá fazendo um
  254. 8:22concurso, talvez na sua prova da
  255. 8:24faculdade, na prova do colégio, tá aí,
  256. 8:25ó, precisou de vantagens do uso da
  257. 8:27herança. Tá aqui citado e explicado aqui
  258. 8:31pelo tio Guanabara durante toda a aula.
  259. 8:33Anota isso no seu caderno. Isso porque
  260. 8:35essa é a base científica. Agora vamos
  261. 8:38pra parte do Guanabara. Então, paraa
  262. 8:39parte de simplificar o negócio. Vamos
  263. 8:41parar para pensar. Olha só, quando eu
  264. 8:43digo a palavra herança, normalmente as
  265. 8:47pessoas quando ouvem a palavra herança
  266. 8:48lembram logo de uma coisa, já vão se
  267. 8:50referenciando ah, herança é o que o meu
  268. 8:53tio vai deixar pro meu sobrinho, o que
  269. 8:54meu pai vai deixar para mim. herança é o
  270. 8:56dinheiro que meu avô até é, você
  271. 8:58consegue utilizar esse termo herança
  272. 8:59para isso. Só que eu colocaria de uma
  273. 9:02outra maneira, o mesmo uso, né, a mesma
  274. 9:04palavra polimorficamente utilizada, né,
  275. 9:07de uma outra forma. Polimorfismo é
  276. 9:10basicamente fazer de outra forma. Então
  277. 9:12tem a palavra herança que serve para
  278. 9:13dinheiro, mas que também serve para essa
  279. 9:17outro exemplo aqui que eu vou colocar
  280. 9:18que na parte técnica, na parte de
  281. 9:20programação, faz mais sentido. Acompanha
  282. 9:23meu raciocínio aqui. Eh, imagina um
  283. 9:25passarinho, um passarinho adulto macho,
  284. 9:27e ele vai se juntar com uma passarinha,
  285. 9:29uma um pássaro fêmea. E aí eles vão ter
  286. 9:33um filhotinho e esse filhotinho é filho
  287. 9:36deles, óbvio. E aí, normalmente quando a
  288. 9:38gente tem filhos, né, quando pessoas,
  289. 9:41animais, né, enfim, tem filhotes, tem
  290. 9:44filhos, esses filhos ganham
  291. 9:45características principalmente dos pais.
  292. 9:47Então, nesse exemplo que tá aparecendo
  293. 9:48aqui do lado, ó, se você olhar o
  294. 9:50passarinho filhotinho, ele tem algumas
  295. 9:53peninhas aqui no peito que são muito
  296. 9:55iguais às peninhas do peito que o pai
  297. 9:56tem. Então essa parte ele herdou do pai
  298. 9:59e ele tem, por exemplo, ali a asinha
  299. 10:01dele aqui embaixo é igualzinha da mãe.
  300. 10:04Ele herdou da mãe. A gente tem isso, né,
  301. 10:05na nossa vida real, né? É, eu tenho uma
  302. 10:07filha e a minha filha tem coisas que são
  303. 10:10é a a cara, o nariz, o olhinho, o
  304. 10:14sorriso. Ah, parece mais comigo. Ah, sei
  305. 10:17lá, a orelha, eh, o a sobrancelha, o
  306. 10:21tipo de cabelo. Parece mais com a minha
  307. 10:22mulher. Ela herdou essas características
  308. 10:25minhas e da minha mulher. Então a gente
  309. 10:28diz que o filhote herdou essas
  310. 10:30características e essas características
  311. 10:32vêm dos pais. Só que ele não herda
  312. 10:35somente características, ele pode herdar
  313. 10:37comportamentos também. Por exemplo, esse
  314. 10:39passarinho aqui, ele pode, sei lá,
  315. 10:42ciscar, né? Cavar o buraquinho muito
  316. 10:44parecido com o do pai, fazer do jeito
  317. 10:46que o pai faz. Ele herdou esse
  318. 10:49comportamento do pai também. Vou um
  319. 10:51exemplo da minha filha. A minha filha na
  320. 10:52hora de dormir, ela tem um comportamento
  321. 10:54igual o meu, que é ficar coçando a
  322. 10:55cabeça assim devagarinho e tal. Ou seja,
  323. 10:57foi um comportamento que ela herdou de
  324. 10:59mim. Ficou claro isso, né? Então, na
  325. 11:01programação, quando a gente fala herdou,
  326. 11:03a gente tá falando de características e
  327. 11:05comportamentos. Ou seja, um filho herda
  328. 11:08coisas e comportamentos, né?
  329. 11:10Funcionalidades e características dos
  330. 11:13seus pais. Guarda isso na sua cabeça que
  331. 11:15fica muito mais fácil. Então, sempre que
  332. 11:17você falar de herança, lembra de pai e
  333. 11:18filho, né? os pais e o filho, o
  334. 11:21passarinho que herdou coisa, né, do do
  335. 11:23dos papais, vai ficar muito mais fácil
  336. 11:25pra sua cabeça. E outra coisa muito
  337. 11:27importante que aí vem a especialização
  338. 11:28que a gente vai ver mais pra frente, por
  339. 11:30não precisa herdar tudo. Ah, tem que ser
  340. 11:34igual ao olho da filha do Guanabara é
  341. 11:36exatamente igual. Não, cara, o pode ter
  342. 11:39algumas mudançazinhas, algumas
  343. 11:40características podem ser mudadas. Ela
  344. 11:42pode acrescentar outras características
  345. 11:44que eu não tenho, nem que a minha mulher
  346. 11:46tem. Assim como ela pode herdar
  347. 11:47comportamentos meu, como por exemplo,
  348. 11:48antes de dormir ela coçar a cabecinha,
  349. 11:50mas ela pode criar outras
  350. 11:52características e outros comportamentos.
  351. 11:54Tá dando para entender? Então assim, o
  352. 11:56filho ele não é obrigado a só herdar
  353. 11:59coisas dos pais. Eles ele pode herdar
  354. 12:01coisas dos pais, mas ele pode também
  355. 12:03herdar características e comportamentos
  356. 12:05e fazer alterações, criar comportamentos
  357. 12:08novos, criar características novas. Essa
  358. 12:10que é a beleza da herança. Isso eu tô
  359. 12:12falando na vida real e na programação. É
  360. 12:14exatamente a mesma coisa. Tá ficando
  361. 12:16fácil? Tá ficando claro? Se precisar,
  362. 12:18assiste essa parte mais de uma vez para
  363. 12:20ficar tudo claro na sua cabeça. Talvez
  364. 12:22você esteja, sei lá, assistindo essa
  365. 12:23aula e no celular ou tava conversando
  366. 12:25com alguém, não prestou bem atenção.
  367. 12:27Cara, isso aqui que acabei de falar, né?
  368. 12:29Todo esse iniciozinho é muito
  369. 12:30importante. Então, qualquer coisa, volta
  370. 12:32pro iniciozinho da explicação de
  371. 12:34herança. Vai nos capítulos aqui do
  372. 12:35vídeo, porque isso é essencial.
  373. 12:46E agora que você já entendeu tudo, se
  374. 12:47precisa, pausa, faz suas anotações.
  375. 12:50Vamos dar uma olhada aqui com mais
  376. 12:51espaço, né, pra gente não ficar
  377. 12:52espremidinho ali na tela. Eu tenho ali,
  378. 12:54ó, representado a mamãe e o filhote. Tem
  379. 12:56o papai também, mas eu vou botar aqui só
  380. 12:57a mamãe e o filhote. Tecnicamente, na
  381. 12:59prática, nos diagramas de classe, a
  382. 13:01gente vai representar a herança dessa
  383. 13:04maneira que aconteceu aqui, ó. é uma
  384. 13:06setinha para cima, é uma setinha com um
  385. 13:08triângulo vazado, exatamente como tá
  386. 13:10ali. Então, sempre que você olhar um
  387. 13:11diagrama de classes, a gente vai ver,
  388. 13:13né, vai ter uns desafios aí para até
  389. 13:15botar em prática diagramas de classe.
  390. 13:17Sempre que você olhar essa setinha
  391. 13:19branca que tá aqui, né, pode ser de
  392. 13:20outras cores, independendo do diagrama,
  393. 13:22você vai lembrar que isso é uma herança.
  394. 13:24Então, sempre que você for desenhar
  395. 13:25também, fale assim, é uma linha fechada
  396. 13:28e um triangulozinho aberto. A setinha
  397. 13:30ela é vazada, não pinta ela não. dentro
  398. 13:32de uma herança, o que a classe que tá
  399. 13:34acima a gente vai chamar de superclasse,
  400. 13:37que dá até para botar outros nomes, mas
  401. 13:38já já você anota. E a classe que tá
  402. 13:41embaixo, a gente vai chamar de
  403. 13:43subclasse. Então, a subclasse ela erda
  404. 13:46coisas da superclasse, certo? É o que
  405. 13:48tava lá na definição. Como eu disse, a
  406. 13:50superclasse pode ter outros nomes, como,
  407. 13:52por exemplo, classe base, ancestral ou
  408. 13:56classe mãe. Eu já chamei, eu já usei
  409. 13:57esses termos algumas vezes. Então, se eu
  410. 13:59falar assim, a classe base, classe base
  411. 14:00eu não tinha usado. Ah, a classe base
  412. 14:02tem tais atributos. Classe base é a
  413. 14:05classe mãe, é a superclasse, é o
  414. 14:07ancestral. E a subclasse também tem os
  415. 14:09seus nomes, que é classe derivada,
  416. 14:12classe descendente ou classe filha.
  417. 14:14Então, se eu falar de derivada,
  418. 14:15descendente ou filha ou subclasse, a
  419. 14:18gente tá falando da classe de baixo
  420. 14:19numerança. Depois, quando a gente for na
  421. 14:21parte dois de herança, que vai ficar um
  422. 14:23pouquinho mais paraa frente, a gente vai
  423. 14:24ver que nem todas as classes são
  424. 14:26sóclasses ou só subclasses. Tem algumas
  425. 14:28classificações para se fazer, mas é
  426. 14:30sempre assim, você vai classificar pela
  427. 14:32setinha. Para essa setinha que tá
  428. 14:34desenhada aí, passarinho mamãe é a
  429. 14:36superclasse e o passarinho filhote é a
  430. 14:39subclasse, mas nada impede de que a
  431. 14:41subclasse, que é o filhotinho, também
  432. 14:43seja a superclasse de outras classes,
  433. 14:45tá? Se ficou confuso, relax. A gente vai
  434. 14:47ver isso lá pra frente, vai ver sobre
  435. 14:49classe folha, classe raiz, a gente vai
  436. 14:51falar sobre, né, enfim, a gente vai ter
  437. 14:53outros termos aí para aprender, mas por
  438. 14:55enquanto vamos nesse basicão aqui. E o
  439. 14:56mecanismo de herança também tem um outro
  440. 14:58nome que é a generalização. E outra
  441. 15:01coisa importante para você anotar que
  442. 15:03herança é um relacionamento do tipo é
  443. 15:05um, ou seja, o passarinho de baixo é um
  444. 15:09pássaro como o pássaro de cima. Beleza?
  445. 15:12O filho é um objeto da mesma
  446. 15:15característica e comportamento da mãe,
  447. 15:18que é a superclasse. Então, cara, anota
  448. 15:20isso é muito importante. Herança é um
  449. 15:22relacionamento do tipo é1 ou é também
  450. 15:25uma generalização. São nomezinhos que
  451. 15:27vão aparecendo em prova, em concurso,
  452. 15:28que às vezes enrola você, mas aí se você
  453. 15:30tá anotando, você já tá sabendo aí no
  454. 15:32curso em vídeo que esses termos são
  455. 15:34utilizados. E aí você vai falar assim:
  456. 15:35"Pô, Gonabara, então você vai fazer um
  457. 15:37código para passarinho?" Não, eu vou
  458. 15:39fazer um código para você que vai ficar
  459. 15:41bem mais realista, vai ficar bem mais
  460. 15:43representando a realidade do
  461. 15:45desenvolvimento de sistemas, que é um
  462. 15:46exemplo que eu vou criar aqui agora.
  463. 15:48Pensa comigo aqui, ó. Eu vou colocar
  464. 15:49três pessoas na tela aqui e eles vão
  465. 15:51fazer parte de um sisteminha rapidinho
  466. 15:52aqui que a gente vai desenvolver. E
  467. 15:54essas pessoas vão ter suas
  468. 15:55características. O de cima é um jovem, é
  469. 15:58um aluno, o do meio é um professor e a
  470. 16:01mocinha lá de baixo, ela é uma
  471. 16:02funcionária. Vamos imaginar que a gente
  472. 16:03tá criando um sisteminha para cadastro
  473. 16:05de controle de escola. Tanto o aluno
  474. 16:08quanto o professor quanto a funcionária
  475. 16:10serão classes, né, que virarão objetos e
  476. 16:12eles têm atributos e métodos. Você viu
  477. 16:15isso até aqui, né? Essa daqui é a sétima
  478. 16:17aula. Se você caiu de para-quedas, você
  479. 16:18tem outras seis aulas para ver. Não
  480. 16:20adianta chegar aqui e achar que, ah,
  481. 16:21não, ó, eu não entendi só herança na
  482. 16:23faculdade. Então, você entendeu
  483. 16:25propriedade, método. Se você não
  484. 16:27entendeu, volta um pouquinho mais. Aqui,
  485. 16:28ó, em cima da minha cabeça, a gente tem
  486. 16:30isso, a playlist completa, vai lá e
  487. 16:32assiste, porque a gente tá, né, numa
  488. 16:34construção aqui. Eu vou colocar aqui
  489. 16:36algumas características e comportamentos
  490. 16:38do aluno. Então, eu coloquei ali, ó.
  491. 16:40Aluno tem nome, idade, o curso que ele
  492. 16:43faz e a turma. São características do
  493. 16:46aluno. E comportamento. O aluno faz
  494. 16:48aniversário e ele faz a matrícula.
  495. 16:50Coloquei só alguns, tá? Depois a gente
  496. 16:52vai falar um pouquinho sobre abstração.
  497. 16:53Logo no próximo vídeo. Vou fazer a mesma
  498. 16:55coisa pro professor. Aqui para cadastrar
  499. 16:56um professor no meu sistema, o que que
  500. 16:58eu vou precisar? Vou botar nome, idade,
  501. 17:01especialidade, nível, né? Especialidade,
  502. 17:04se ele é um professor de biologia, se
  503. 17:05ele é um professor de química, o nível
  504. 17:06dele, se ele é especialista, se ele já
  505. 17:09tem mestrado, se já tem doutorado,
  506. 17:10enfim. E ele também tem os métodos que é
  507. 17:12fazer aniversário e dar aula, né? Coisas
  508. 17:15que o professor pode fazer, fazer
  509. 17:16aniversário e dar aula. você fala, pô,
  510. 17:18fazer aniversário é porque no sistema
  511. 17:21fazer aniversário vai fazer algumas
  512. 17:22coisas ali, sei lá, enfim, é uma
  513. 17:24característica que o nosso sistema vai
  514. 17:25ter.
  515. 17:27E para funcionário, eu também vou botar
  516. 17:28características e comportamentos, né,
  517. 17:31atributos e métodos, nome, idade, cargo
  518. 17:33e setor e coisas que ela pode fazer,
  519. 17:36fazer aniversário e bater ponto. Se
  520. 17:38você, né, é uma pessoa inteligente, é um
  521. 17:40gafanhoto, um agafanhoto inteligente,
  522. 17:42você já viu que algumas coisas se
  523. 17:44repetem. Se você analisar as três
  524. 17:46classes que eu propus aqui do lado, até
  525. 17:48cheguei mais perto de mim aqui, existem
  526. 17:50coisas que se repetem. Por exemplo,
  527. 17:52todas as classes que todas essas três
  528. 17:54pessoas aqui que vou chamar de classe,
  529. 17:55elas têm as características nome, idade,
  530. 17:58todas elas têm em comum e elas também
  531. 18:00têm o método de fazer aniversário, né? É
  532. 18:02só você olhar o gráfico aqui do lado, tá
  533. 18:03tudo marcadinho. Então, essas partes que
  534. 18:05se repetem, eu não preciso ficar
  535. 18:07digitando duas vezes, que o mecanismo de
  536. 18:10herança vai facilitar para mim. No meu
  537. 18:12sistema, qual é a melhor maneira de eu
  538. 18:13poderia? no meu sistema, criar a classe
  539. 18:15aluno, classe funcionário, classe
  540. 18:17professor e colocar todos os atributos,
  541. 18:19todos os métodos. Sem problema nenhum,
  542. 18:20vai funcionar. Agora, uma outra coisa
  543. 18:23que é mais inteligente é eu fazer o
  544. 18:25seguinte. Eu crio uma classe, vamos usar
  545. 18:28genérica, pra gente usar a palavra
  546. 18:29generalização, eu criei uma classe
  547. 18:31genérica chamada pessoa. Nessa classe
  548. 18:34pessoa, eu vou colocar tudo aquilo que
  549. 18:36eles têm em comum. Então, por exemplo,
  550. 18:38nome, idade e fazer aniversário foi pra
  551. 18:41pessoa. Só você olhar ali na tela, né?
  552. 18:42Se você não tá olhando pra tela, olha
  553. 18:43pra tela ali. Agora eu coloquei na minha
  554. 18:46classe pessoa, que esse branquinho aí
  555. 18:47parece um fantasminha, nome, idade e
  556. 18:50fazer aniversário, que são as coisas que
  557. 18:51eu deixei marcada aqui perto de mim. E
  558. 18:53aí eu não preciso escrever, né,
  559. 18:55reescrever toda hora. Então eu posso
  560. 18:57tirar da parte das outras classes essas
  561. 19:00características e comportamentos que se
  562. 19:02repetem entre elas. Beleza? Então eu
  563. 19:04tirei o que se repete das classes
  564. 19:06principais e joguei tudo para essa minha
  565. 19:07classe genérica que eu chamei. Só que
  566. 19:09não adianta só jogar, eu tenho que fazer
  567. 19:11uma relação, eu tenho que criar uma
  568. 19:12relação entre eles. E a relação que a
  569. 19:14gente tá aprendendo nessa aula é a
  570. 19:15relação de herança. Então eu vou pegar
  571. 19:17essas três classes de baixo, vou
  572. 19:19reorganizar, né, hierarquicamente e vou
  573. 19:21dizer, olha só, olhando vinhas brancas
  574. 19:24com um triangulozinho vazado, herança,
  575. 19:26eu digo que aluno, professor e
  576. 19:29funcionário herdam características e
  577. 19:31comportamentos da classe pessoa. E
  578. 19:34lembra que herança é um relacionamento
  579. 19:36do tipo é1. Então vamos ler, ó. Todos
  580. 19:38que estão embaixo é uma relação do tipo
  581. 19:40é um. Aluno é uma pessoa, professor é
  582. 19:43uma pessoa, funcionário é uma pessoa. Ou
  583. 19:46seja, todos os que estão embaixo é da
  584. 19:49relação do tipo é um do que tá superior,
  585. 19:51beleza? Então todos que estão embaixo
  586. 19:53vão herdar, vão ganhar automaticamente
  587. 19:56todas as características e
  588. 19:57comportamentos do que tá em cima. Ou
  589. 19:59seja, o aluno, ele vai ter nome, vai ter
  590. 20:02idade, vai fazer aniversário também. Se
  591. 20:03eu criar essa relação, a gente vai ver
  592. 20:05como faz isso no código. O professor
  593. 20:07também, além de especialidade e nível,
  594. 20:09dá uma olhada aí na tela, e de dar aula,
  595. 20:11ele também vai ter nome, idade e fazer
  596. 20:14aniversário. Isso porque o mecanismo de
  597. 20:16herança me permite isso, me dá esse
  598. 20:19benefício. Toda a linguagem orientada
  599. 20:20objeto vai ter um mecanismo de herança
  600. 20:22implementado. E como eu disse muitas
  601. 20:24vezes anteriormente, essa classe de cima
  602. 20:26é o que a gente diz que é uma
  603. 20:28generalização e as classes de baixo é o
  604. 20:30que a gente diz como especialização. Por
  605. 20:32isso que a gente colocou lá, a classe de
  606. 20:34cima é a classe generalizada e a classe
  607. 20:36de baixo é a classe especializada,
  608. 20:38classe, subclasse, geral, especializada,
  609. 20:41enfim, vários nomes. E você viu isso
  610. 20:43anteriormente. Ficou claro essa teoria?
  611. 20:45Ficou claro tudo isso que eu mostrei
  612. 20:46aqui para você? Precisa tirar um print?
  613. 20:48Tira um print, bota no seu caderno isso
  614. 20:50daqui. Só que a pergunta que não quer
  615. 20:52calar é: "Tá bom, Anabara, entendi. Mas
  616. 20:55como é que eu faço isso em Python?" E é
  617. 20:56exatamente isso que vai acontecer agora
  618. 20:59na parte prática da sua aula.
  619. 21:06Então, ó, já estou aqui no meu Windows.
  620. 21:08Vou abrir o meu P char Charme pra gente
  621. 21:11poder fazer os exercícios. Lembra de
  622. 21:13deixar tudo organizadinho para depois
  623. 21:15você não perder os arquivos, né? Não,
  624. 21:17não, não faz o exercício um por cima do
  625. 21:19outro. Gera arquivos separadinhos, tudo
  626. 21:21bonitinho, tudo organizado, fica mais
  627. 21:23fácil. Aqui a gente tem, ó, os nossos
  628. 21:24exercícios que a gente fez até aqui. A
  629. 21:26gente tem os nossos desafios, como eu
  630. 21:28disse, ó, no vídeo anterior, né? Nos
  631. 21:30vídeos anteriores a gente fez o desafio
  632. 21:3216 até o desafio 22, né? Depois a gente
  633. 21:34vai ter o 23, 24, 25. Os desafios, os a
  634. 21:37próxima bateria de desafios vai vir
  635. 21:39depois da aula de abstração, tá? A gente
  636. 21:41vai ter essa aula de herança, depois a
  637. 21:42aula de abstração, depois nós vamos ter
  638. 21:44cinco desafios, tá? Então é assim que
  639. 21:46vai funcionar. E a gente tem a parte de
  640. 21:48reach aqui, que, né, você deve ter visto
  641. 21:50o vídeo aí na playlist, a biblioteca
  642. 21:52Rich, que a gente vai utilizar aqui
  643. 21:53também durante os desafios. Durante os
  644. 21:55exercícios eu vou tentar não usar tanto,
  645. 21:57tá? Vou mostrar aqui agora é como que a
  646. 21:59gente cria o próximo exercício. Vamos
  647. 22:01criar o exercício 004 aqui, ó. Então,
  648. 22:03botão direito, nova. Vamos criar uma
  649. 22:05pasta aqui, um diretório e vamos colocar
  650. 22:08exercício 004. E dentro do exercício
  651. 22:11004, eu vou criar um arquivo, um Python
  652. 22:14file chamado exercício 004. Já já a
  653. 22:17gente vai aprender a organizar melhor
  654. 22:18esses arquivos, tá? Então, beleza, já tá
  655. 22:20criado lá o exercício 004, que é o que a
  656. 22:23gente vai fazer exatamente agora aqui no
  657. 22:26mecanismo de herança. Basicamente, o que
  658. 22:28que eu vou fazer? Exatamente aquele
  659. 22:29diagrama que a gente fez anteriormente,
  660. 22:31que eu pedi para você tirar o print, só
  661. 22:32que em forma de código. Então vamos lá.
  662. 22:34Primeira coisa que eu vou fazer é criar
  663. 22:35a classe pessoa, certo? Essa classe
  664. 22:37pessoa vai ter um método init, que é o
  665. 22:40construtor. E aí nós vamos ter os
  666. 22:42seguintes atributos, ó, self.nome e
  667. 22:45self. Certo? que são as características
  668. 22:47aqui, são os atributos que a gente
  669. 22:49colocou aqui como comuns a todas as
  670. 22:51pessoas, ao aluno, ao professor e ao
  671. 22:52funcionário. Então eu vou criar aqui um
  672. 22:54construtor que eu vou criar o nome e a
  673. 22:56idade e vou jogar esse nome e idade nos
  674. 22:58meus atributos internos, certo? Poder
  675. 23:00podar n e i aqui sem problema nenhum. Se
  676. 23:02eu não informar o nome, o nome vai ser
  677. 23:04vazio. Se eu não informar a idade, a
  678. 23:06idade vai ser zero. Coloquei aqui os
  679. 23:07atributos padrões, né? Não é
  680. 23:08obrigatório, mas coloquei aqui para
  681. 23:10simplificar. também vou criar o meu
  682. 23:12método que é fazer aniversário. O fazer
  683. 23:15aniversário é simples. Quando a pessoa
  684. 23:17faz aniversário, o que que ela faz? Ela
  685. 23:18ganha um ano a mais na idade, não é
  686. 23:19isso? Então, self idade recebe self
  687. 23:23idade mais um, ou seja, eu pego mais um
  688. 23:26ano e coloco para ele. Se eu quiser
  689. 23:27simplificar isso, eu posso subir tirar
  690. 23:29isso tudo aqui, ó, e botar mais igual a
  691. 23:311. Você viu isso lá no módulo de Python,
  692. 23:33se eu não me engano. Então, funciona
  693. 23:35também. Agora nós vamos fazer o
  694. 23:36seguinte, também vou criar a classe
  695. 23:39aluno, vou botar um PS aqui só para não
  696. 23:41dar problema e vou criar a classe
  697. 23:43professor e vou criar a classe
  698. 23:45funcionário. Lembrando, é interessante
  699. 23:48você colocar o nome da classe com a
  700. 23:50primeira letra maiúscula, tá? Então eu
  701. 23:52tenho essas três, essas quatro classes,
  702. 23:54né? classe pessoa, a classe aluno,
  703. 23:56classe professor e a classe funcionária.
  704. 23:58Só que nesse momento que eu tô fazendo
  705. 23:59aqui, todas elas estão soltas, não tem a
  706. 24:02relação de herança. Para eu fazer a
  707. 24:04relação de herança no Python é muito
  708. 24:06simples. É só fazer isso aqui, ó. Aluno
  709. 24:08não é uma pessoa, então entre parênteses
  710. 24:10aqui do lado da palavra aluno, pessoa.
  711. 24:11Professor também não é uma pessoa, então
  712. 24:13pessoa. Funcionário também não é uma
  713. 24:15pessoa, pessoa. Com isso, eu tô dizendo
  714. 24:17que essas três classes aqui são
  715. 24:20subclasses da classe pessoa. Ou seja, se
  716. 24:22eu criar um aluno, ele automaticamente
  717. 24:24vai ter nome e idade, porque a classe
  718. 24:27mãe, a superclasse pessoa tem essas
  719. 24:29características. Vou fazer o seguinte
  720. 24:31aqui, vou criar os meus métodos
  721. 24:32construtores aqui. Tem uma coisa
  722. 24:34importante para para falar para você
  723. 24:35nesses nesses casos aqui. Vou criar para
  724. 24:38todos eles, tá? Também vou criar aqui,
  725. 24:40tá? Seguinte, quando eu tenho a minha
  726. 24:42inicialização, o mais comum é o
  727. 24:43seguinte, se você olhar lá no no
  728. 24:44diagrama, o aluno, ele tem as seguintes
  729. 24:46características. Ele tem a
  730. 24:48característica adicional, que é curso,
  731. 24:50deixar vazia aqui por enquanto, e também
  732. 24:53turma, botar selfie na frente, né? são
  733. 24:55os atributos, né, dessa classe. Ele
  734. 24:58também tem um método chamado fazer
  735. 25:01matrícula. Depois eu escrevo o código.
  736. 25:03Professor, ele vai ter os atributos
  737. 25:05especialidade e também nível. E ele vai
  738. 25:08ter também um método que a gente definiu
  739. 25:11lá, que é o dar aula.
  740. 25:16E por fim, o funcionário, ele vai ter os
  741. 25:19atributos cargo e setor
  742. 25:26e o método bater ponto. Beleza? Então
  743. 25:29aqui, ó, a gente já criou o esqueleto
  744. 25:31básico, ainda tá faltando coisa, tá?
  745. 25:32Então olha, eu tenho a classe pessoa.
  746. 25:35Normalmente depois de uma classe entre
  747. 25:36uma classe e outra, a gente vai ver como
  748. 25:38separar, mas entre uma classe e outra eu
  749. 25:39vou botar duas linhas vazias, tá? Só
  750. 25:41para organizar melhor. Então, tenho a
  751. 25:42classe pessoa que tem os atributos nome
  752. 25:44e idade, eu tenho o método fazer
  753. 25:46aniversário que todos vão herdar, né? O
  754. 25:48aluno, o professor e o funcionário. O
  755. 25:50aluno, além de herdar nome e idade, ele
  756. 25:53vai ter curso e turma e o método fazer
  757. 25:55matrícula. O professor, além de ter
  758. 25:57nome, idade, especialidade e nível e dar
  759. 25:59aula, o método dar aula. E o funcionário
  760. 26:01também vai ter, além de nomeidade, cargo
  761. 26:03e setor e vai ter o bater ponto, certo?
  762. 26:05Então, olha esse código aqui, faz na sua
  763. 26:08casa antes de continuar nesse momento.
  764. 26:09Ainda falta um pouquinho, mas faz na sua
  765. 26:11casa. E olha no diagrama. Eu vou pedir
  766. 26:13até um favor aqui pro editor para ele
  767. 26:15colocar, ó, pessoa, olha o diagrama que
  768. 26:18que tá aparecendo aí na tela. Pessoa é a
  769. 26:20superclasse, aluno é subclasse de
  770. 26:22pessoa. Como é que eu sei que aluno é
  771. 26:23subclasse de pessoa? Tá lá aluno e entre
  772. 26:25parênteses pessoa, né? Ele tá dizendo
  773. 26:27que aluno erda tudo que pessoa tem.
  774. 26:29Professor também erda tudo que pessoa
  775. 26:30tem. Funcionário também erda tudo que
  776. 26:32pessoa tem. Beleza? Outra coisa
  777. 26:33importante é o seguinte, tá dando um
  778. 26:35errinho aqui, todos os inícios, ó, esse
  779. 26:37init aqui da pessoa tá tudo bem, mas
  780. 26:38esse init aqui do aluno que é filho de
  781. 26:42pessoa, tá dando um errinho aqui. Se
  782. 26:43você passar o mouse em cima, o próprio
  783. 26:45pai Charm vai te dizer, olha só,
  784. 26:47adicionar o super class call. Que que é
  785. 26:50o super class call? É o seguinte
  786. 26:51comando, ó, super.
  787. 26:54Que que é isso? Toda vez que eu tenho um
  788. 26:55filho, né, aluno é filho de pessoa, eu
  789. 26:57tenho que colocar esse comando super,
  790. 26:59que é superclasse, vai lá na superclasse
  791. 27:02e executa o init dela. Ou seja, quando
  792. 27:04eu boto esse comando, eu não gosto muito
  793. 27:05disso não, mas enfim, é regra do Python,
  794. 27:07ele vai lá, executa o init,
  795. 27:10certo? No caso da mãe, né, para usar o
  796. 27:12termo certo. Só que o inich da mãe, ele
  797. 27:14precisa passar nome e idade. Então vou
  798. 27:16colocar aqui nome e idade também. Vou
  799. 27:18fazer a mesma coisa. Ah, é aqui eu
  800. 27:20também tenho que receber nome e tenho
  801. 27:21que receber idade. Além de nome e idade,
  802. 27:23eu também tenho que receber curso e
  803. 27:25turma. Aqui eu vou botar curso e turno.
  804. 27:27Ou seja, olha só, na hora que eu criar
  805. 27:28um aluno, eu vou ter que receber o nome
  806. 27:30dele, a idade dele, o curso dele e a
  807. 27:32turma dele. Beleza? O nome e a idade eu
  808. 27:35vou jogar pro inite lá do pai, né, da da
  809. 27:37da superclasse e o curso e a turma eu
  810. 27:39vou colocar nos atributos locais. Vou
  811. 27:41fazer a mesma coisa aqui para professor,
  812. 27:43ó. Eu vou mandar ele adicionar ou
  813. 27:46digita. É só digitar, né? Aqui eu também
  814. 27:47tenho nome e idade. E aqui eu recebo
  815. 27:50nome, idade, especialidade e nível. Você
  816. 27:53não entendeu? Na hora que você botar
  817. 27:55para funcionar, você vai entender
  818. 27:56melhor. Vai acompanhando, não desiste de
  819. 27:58mim, não. Aqui mais uma vez mandar ele
  820. 28:00adicionar a referência do super nome e
  821. 28:02idade. E aqui eu vou pedir nome, idade,
  822. 28:04cargo e setor. Beleza? Tá feito aqui.
  823. 28:07Depois eu vou escrever os métodos aqui
  824. 28:08bem genericões. Mas vamos fazer o
  825. 28:10seguinte, ó. Agora eu tenho mais ou
  826. 28:12menos a estrutura montada. Eui. Isso
  827. 28:15daqui que você tá vendo é exatamente o
  828. 28:18desenvolvimento desse diagrama que o
  829. 28:20editor tá colocando aqui do lado. Agora
  830. 28:22vamos fazer um teste. Olha só, eu vou te
  831. 28:24chamar de A1, que vai ser um aluno. Para
  832. 28:27fazer um aluno, eu tenho que dizer o
  833. 28:28nome, a idade, o curso e a turma. O nome
  834. 28:31vai ser José, a idade vai ser 17 anos, o
  835. 28:35curso vai ser informática e a turma vai
  836. 28:38ser T01. Beleza? Com isso, eu vou criar
  837. 28:43um objeto chamado a um que é da classe
  838. 28:45aluno. Essa parte aqui de criar um
  839. 28:47objeto a gente viu nas aulas anteriores,
  840. 28:48né? Então assiste as aulas anteriores. E
  841. 28:50eu vou fazer o seguinte, eu vou usar um
  842. 28:52inspect. Você pode fazer assim, ó, que
  843. 28:53se você tá fazendo pelo celular, print
  844. 28:55a1.dict,
  845. 28:57a gente já viu isso, né? Vou executar
  846. 28:58para você ver o que que ele que que ele
  847. 29:00faz. Tá vendo, ó? Então, eu tenho lá, ó,
  848. 29:01na hora que eu mando o A1.dict, ele vai
  849. 29:03mostrar o nome é José, a idade é 17, o
  850. 29:06curso é informática, a turma é T01, tá?
  851. 29:08Dá para fazer isso aqui se você tá
  852. 29:09usando o celular ou se tá usando o
  853. 29:11editor, né, online. Agora, se você tá no
  854. 29:13computador, que é o melhor dos mundos,
  855. 29:14você vai colocar aqui, ó, inspect usando
  856. 29:16a biblioteca Rich, né? Então você vai
  857. 29:18ter que vir aqui em cima e adicionar uma
  858. 29:20referência pro inspect. Então vou botar
  859. 29:21aqui, ó, from rich. Não funciona isso no
  860. 29:24celular, tá? Import, o print e inspect,
  861. 29:27certo? Tô carregando isso daqui. Por qu
  862. 29:29o inspect? Ele vai te dar isso daqui, ó.
  863. 29:32Olha só, eu tenho a característica do
  864. 29:33meu aluno, né? Ah, tá. Eu tô mandando
  865. 29:35mostrar o inspect do dict, não quero. Eu
  866. 29:37quero inspect somente do A1, tá? Inspect
  867. 29:40A1. Deixa eu executar, perdão. Tá lá, ó.
  868. 29:43Eu tenho o meu aluno, que é da classe
  869. 29:45aluno, certo? Então eu tenho, mandei
  870. 29:47inspeccionar o A1. Ele tá dizendo que o
  871. 29:49A1 é da classe aluno, ele é um objeto,
  872. 29:52ele tem o curso informática, ele tem a
  873. 29:54idade 17, ele tem o nome José e ele tem
  874. 29:56a turma T01. Beleza? Se você quiser ver
  875. 29:59os métodos, pode botar assim, ó, methods
  876. 30:02true, que ele vai ver os métodos também.
  877. 30:04Ó lá, ele é do curso, a idade, o nome, a
  878. 30:07turma. Ele tem o método fazer
  879. 30:09aniversário, ele tem o método fazer
  880. 30:10matrícula, certo? Então, presta atenção
  881. 30:12aqui, ó. Ele tá dizendo que meu aluno,
  882. 30:14ele tem curso, idade, nome e turma. Só
  883. 30:16que o que eu fiz foi aluno, ele tinha
  884. 30:19como atributos internos só curso e
  885. 30:21turma. De onde veio a idade e o nome? A
  886. 30:24idade e o nome vieram do pai, né? vieram
  887. 30:27da superclasse da mãe, que é a classe
  888. 30:29pessoa, certo? Se eu não colocasse a
  889. 30:31classe pessoa aqui, ó, n o aluno não
  890. 30:34teria as características e
  891. 30:35comportamentos da pessoa
  892. 30:37automaticamente. Como aluno é uma pessoa
  893. 30:39e pessoa tem nome e idade,
  894. 30:42automaticamente aluno também tem nome e
  895. 30:43idade. Como o aluno é uma pessoa, também
  896. 30:45faz aniversário. Então fazer
  897. 30:47aniversário, né, faz parte. Então, por
  898. 30:48exemplo, antes do inspect, se eu mandar
  899. 30:50o aluno fazer aniversário, presta
  900. 30:51atenção aqui, ó, ele tá com 17 anos. Se
  901. 30:53eu mandar a um ponto fazer aniversário,
  902. 30:56ó, na hora que eu executo, ele já tá com
  903. 30:5818, ó. Porque antes de inspecionar aqui,
  904. 31:00eu mandei ele fazer aniversário. E o
  905. 31:02fazer aniversário vai pegar o quê? A
  906. 31:03idade dele que era 17, jogar mais um e
  907. 31:06deixar registrado. Beleza? Então ele
  908. 31:07consegue mexer com isso. Daí eu consigo
  909. 31:09também, além de um aluno, ter um
  910. 31:11professor. Então vou botar lá, ó, P1 vai
  911. 31:13ser um professor. E para ser um
  912. 31:15professor eu tenho que informar nome,
  913. 31:17idade, especialidade e nível. Então vai
  914. 31:19ser o professor Samuel. Inclusive, um
  915. 31:22grande abraço pro professor Samuel de
  916. 31:23Biologia. Ele vai ter a idade, botar lá,
  917. 31:2537, Samuel, não sei se você tem 37, a
  918. 31:27especialidade biologia e o nível ele é
  919. 31:30mestre, mestrado. Se eu mandar, ó,
  920. 31:33inspect,
  921. 31:34ele vai mostrar, ó, também eu tenho
  922. 31:36aluno, tem tudo isso e eu tenho
  923. 31:38professor, ó. Professor que é o Samuel,
  924. 31:40eu tenho. Ah, tá. Ele tá vazio aqui por
  925. 31:42quê? Calma aí, ó. Deu erro por simples
  926. 31:47também vai dar pro no funcionário. Eu
  927. 31:49esqueci de botar a especialidade aqui,
  928. 31:51ó, e esqueci de botar o nível aqui. E
  929. 31:53também esqueci no no funcionário também,
  930. 31:55o cargo e o setor. Por isso que ficou
  931. 31:57vazio. Agora vou executar. Tá tudo
  932. 31:59resolvido. Ó, o professor é o professor
  933. 32:01Samuel do de biologia, 37 anos e ele é
  934. 32:04mestre. Certo? Dá para eu fazer também
  935. 32:07mostrando os métodos pro Samuel. Tá
  936. 32:09vendo? Ele pode dar aula, ele pode fazer
  937. 32:11aniversário. Mesma coisa, 37 anos. Se eu
  938. 32:13colocar aqui, ó, se eu errar, botar aqui
  939. 32:15a um ponto fazer aniversário. Eu não tô
  940. 32:18fazendo o Samuel fazer aniversário, eu
  941. 32:20tô fazendo o aluno, que eu esqueci o
  942. 32:22nome dele. Calma aí, deixa eu mostrar.
  943. 32:24Eu tô fazendo o José fazer aniversário.
  944. 32:26Então, se eu botar A1 fazer aniversário,
  945. 32:28o José vai fazer mais um aniversário. Ó,
  946. 32:30ele tinha 17, foi para 18, ó. Samuel
  947. 32:33continuou com 37 e provavelmente, ó, o
  948. 32:36José foi para 18. Ele tinha 17. Ah, tá.
  949. 32:39Tá. É porque eu inspecionei ele antes.
  950. 32:40Nesse exato momento ele tá com 19, tá?
  951. 32:42Porque na verdade eu dei um spect antes,
  952. 32:45ele fez aniversário depois. Então aqui,
  953. 32:47ó, se eu botar P1, quem vai fazer o
  954. 32:48aniversário é o Samuel. Ó, agora o
  955. 32:51Samuel que tinha 37, tá com 38 anos.
  956. 32:53Isso tudo eu consigo, por exemplo, aqui
  957. 32:55esses peçes aqui, né, que eu deixei, por
  958. 32:57exemplo, dar aula. O aluno fazer
  959. 33:00aniversário, o aluno fazer matrícula.
  960. 33:02Vou botar aqui, ó. Eu simplesmente vou
  961. 33:04fazer o seguinte, ó. Print formatado,
  962. 33:06né? O aluno, vou botar aqui o nome do
  963. 33:08aluno, self. nome acabou de fazer
  964. 33:11matrícula. Poder simples, tá? Dá para
  965. 33:13vocêar mais isso daqui, né? É porque é
  966. 33:16um exercício basicão, simples para
  967. 33:18professor o dar aula. Vou botar aqui
  968. 33:21print formatado. Professor
  969. 33:25self.Nome
  970. 33:26começou a dar aula e vou bater ponto
  971. 33:29aqui, ó. print formatado. Vou botar o
  972. 33:32nome do funcionário. Vendo. É, são
  973. 33:34características dele. Acabou de bater
  974. 33:37ponto. Então, olha só, lembrando aquelas
  975. 33:39características que a gente viu. O
  976. 33:40aluno, ele é uma pessoa, então ele faz
  977. 33:43aniversário, mas ele criou suas próprios
  978. 33:46seus próprios métodos. Ele tem um método
  979. 33:47que é fazer matrícula, né? O pai dele, a
  980. 33:50mãe dele, né? A superclasse não faz
  981. 33:51matrícula, mas ele faz. São coisas
  982. 33:53novas. O filho erda coisas das mães, né?
  983. 33:56da da classe mãe, mas também pode criar
  984. 33:58suas próprias características como curso
  985. 34:00e turma e ter seus próprios
  986. 34:01comportamentos, como fazer matrícula.
  987. 34:02Por exemplo, professor não pode fazer
  988. 34:04matrícula, funcionário não pode fazer
  989. 34:06matrícula, né? Assim como funcionário
  990. 34:09não pode dar aula, aluno não pode dar
  991. 34:10aula porque são características
  992. 34:12específicas de professor, certo? Então
  993. 34:14eu consigo montar isso daqui. Vou criar
  994. 34:16também um funcionário, vou botar aqui
  995. 34:17também, além de fazer aniversário, pro
  996. 34:19A1 fazer matrícula e vou fazer aqui pro
  997. 34:21professor B1 dar aula. Ó, na hora que eu
  998. 34:24executo, ele cria um aluno. O aluno,
  999. 34:27cadê? Tá aqui, ó. José acabou de fazer
  1000. 34:29matrícula. Tenho aqui também o professor
  1001. 34:31Samuel começou a dar aula. E tenho
  1002. 34:33também, ah, tenho também não, porque eu
  1003. 34:35não fiz, vou fazer o funcionário aqui
  1004. 34:36agora. Meu funcionário, vou chamar de
  1005. 34:38F1. É o meu primeiro funcionário. Vai
  1006. 34:39ser um funcionário que vai ser a
  1007. 34:42Cláudia. Ela tem 12 anos, funcionário
  1008. 34:45com 12 anos, 27 anos. O cargo dela é
  1009. 34:49secretária, secretária escolar, né?
  1010. 34:51Aquela que faz a matrícula. E o setor
  1011. 34:53dela é secretaria. Beleza? Eu consigo
  1012. 34:55fazer também a funcionária que tem 27
  1013. 34:57anos fazer aniversário na hora que eu
  1014. 34:59quiser. E ela também pode, como método,
  1015. 35:01também bater ponto, certo? E também
  1016. 35:03posso dar um inspect nela, na
  1017. 35:05funcionária e os métodos também
  1018. 35:07verdadeiros. Se você não quiser
  1019. 35:09inspecionar todos, né, aparecer todos,
  1020. 35:10ficar meio bagunçado, você pode botar
  1021. 35:12uma hashtag na frente para ele ignorar,
  1022. 35:13né, e deixar só um espect que vale a
  1023. 35:15pena, né, que você tá testando no
  1024. 35:17momento. Então, olha aqui, ó. O José
  1025. 35:18acabou de fazer a matrícula, depois o
  1026. 35:20professor Manuel começou a dar aula e
  1027. 35:21depois a funcionária Cláudia acabou de
  1028. 35:23bater ponto, certo? A funcionária
  1029. 35:25Cláudia, ela é secretária, né? Tem 28
  1030. 35:28anos, né? Era 27, mas fez aniversário.
  1031. 35:30Ela se chama Cláudia, trabalha na
  1032. 35:31secretaria e ela pode bater ponto e
  1033. 35:33fazer aniversário. Beleza? Então, olha
  1034. 35:35só, aqui eu tenho o meu método
  1035. 35:37principal, certo? Depois a gente vai dar
  1036. 35:39uma organizadinha nele. Isso aqui é é é
  1037. 35:41o teste, é o fazer valer. E aqui é todo
  1038. 35:44o planejamento das classes. Eu tenho a
  1039. 35:45classe pessoa, eu tenho a classe aluno,
  1040. 35:48eu tenho a classe professor e eu tenho a
  1041. 35:50classe funcionário. Sendo que aluno,
  1042. 35:51professor e funcionário são, é um
  1043. 35:53relacionamento do tipo é um funcionário
  1044. 35:55é uma pessoa, professor é uma pessoa e
  1045. 35:58aluno é uma pessoa. Isso porque eu tenho
  1046. 36:00os parênteses aqui que significa
  1047. 36:02herança. Deu para entender? Faz na sua
  1048. 36:05casa. Beleza? Agora você sabe fazer isso
  1049. 36:07em Python. Só que ficou um arquivo muito
  1050. 36:10grande, ficou grandão. E o que eu vou te
  1051. 36:12recomendar é dividir para organizar.
  1052. 36:14Lembra que uma das características da
  1053. 36:16herança é a organização do código? Então
  1054. 36:18dá pra gente dividir as coisas para
  1055. 36:20organizar. Eu não preciso manter tudo
  1056. 36:22num arquivão só de Python. Eu consigo
  1057. 36:24pegar e separar, botar cada classe num
  1058. 36:27arquivo, né? Ou então todas as classes
  1059. 36:29num arquivo separado. Enfim, dá para
  1060. 36:31você colocar sim. E é exatamente isso
  1061. 36:34que eu vou te mostrar agora. Você sabe o
  1062. 36:38quanto é importante para um produtor de
  1063. 36:39conteúdo ter um canal no YouTube, ter
  1064. 36:41você como inscrito no canal e habilitar
  1065. 36:43o sininho de notificação para você saber
  1066. 36:44quando sair vídeo novo. Só que às vezes
  1067. 36:46a plataforma do YouTube não te mostra
  1068. 36:48tudo aquilo que acabou de sair no canal
  1069. 36:50e é por isso que a gente criou um canal
  1070. 36:51de distribuição no Telegram. E você pode
  1071. 36:53acessar agora mesmo t.m/cursinvídeo.
  1072. 36:56Pode se inscrever no nosso canal.
  1073. 36:58Inclusive tem outros canais tentando se
  1074. 36:59fazer passar pela gente. O único válido
  1075. 37:01é esse daqui. E pode ficar tranquilo,
  1076. 37:03ficar tranquila. A gente não fica
  1077. 37:05enchendo vocês de mensagem e sempre que
  1078. 37:07a gente lança uma coisa interessante no
  1079. 37:08canal, eu te aviso por lá. Faça parte
  1080. 37:10você também do nosso canal do Telegram.
  1081. 37:15Que que eu vou fazer aqui? Eu vou pegar
  1082. 37:17esse exercício quatro e vou duplicar, ó.
  1083. 37:18Eu vou dar contrtrl C, conttrl V, vai
  1084. 37:20ser exercício 005. Ó, ele já criou lá o
  1085. 37:23exercício 005 com todos esses arquivos.
  1086. 37:25Vou fechar tudo, ó. Fecha tudo e abre
  1087. 37:27aqui no exercício 005. Aqui eu vou fazer
  1088. 37:29o seguinte, ó. Vou eu vou simplificar.
  1089. 37:31Vou fazer a maneira mais simples e
  1090. 37:33depois a maneira um pouquinho mais
  1091. 37:34complexa. Eu vou renomear ele aqui, ó,
  1092. 37:36rename, botão direito, rename. Vou
  1093. 37:37chamar ele de underline_line
  1094. 37:39main_line_line, certo? Eu vou ter o meu
  1095. 37:42código principal aqui. No meu código
  1096. 37:44principal, além do código principal, ó,
  1097. 37:45vou criar dentro da mesma pasta um novo
  1098. 37:48Python file chamado classes. Vou chamar
  1099. 37:51de classes e005.
  1100. 37:54As classes do exercício 005. E o que que
  1101. 37:56eu vou fazer, ó? Eu vou pegar todas as
  1102. 37:58classes, ó, daqui da classe pessoa até o
  1103. 38:01finalzinho da classe funcionário, certo?
  1104. 38:04Vou tirar, ó, conttrl X, cuidado para
  1105. 38:06não fazer besteira. Conttrl X. E logo em
  1106. 38:08seguida, para não perder, você vem aqui
  1107. 38:10e crtrol V, certo? Eu botei todos os as
  1108. 38:13classes aqui dentro. Ou seja, a parte do
  1109. 38:15meu arquivo principal ficou aqui e a
  1110. 38:17parte das minhas classes ficou aqui. Só
  1111. 38:19que se você for lá no main, tá dando
  1112. 38:21erro, ó. Não tem aluno, não tem
  1113. 38:22professor, não tem funcionário, não tem
  1114. 38:24nada. Por eu tenho que fazer aqui, ó,
  1115. 38:26from classes do exercício 005, importo,
  1116. 38:30professor e funcionário. Certo? Então eu
  1117. 38:32vou lá na classe, eu importo aluno,
  1118. 38:34professor e funcionário. Se eu executar,
  1119. 38:37ó, tá funcionando do mesmo jeito, ó.
  1120. 38:39José acabou de fazer matrícula. Samuel
  1121. 38:41começou a aula, Cláudio acabou de bater
  1122. 38:43ponto. Se eu quiser, eu posso tirar um
  1123. 38:44espect. Um spect é bom para testar, né,
  1124. 38:46para você ver o que tá dentro da
  1125. 38:47variável, mas depois não faz sentido,
  1126. 38:49né, eu ter ele no resultado final. É
  1127. 38:52aqui, ó. José, eu tenho um aluno José,
  1128. 38:53que acabou de se matricular, um
  1129. 38:55professor Samuel que começou a dar aula
  1130. 38:56e uma funcionária Cláudia que acabou de
  1131. 38:58bater ponto. Beleza? Tudo isso com esse
  1132. 38:59código aqui, que agora ficou mais fácil,
  1133. 39:01ó. Eu tenho aqui essas chamadas aqui e
  1134. 39:03as classes ficaram separadas. Beleza?
  1135. 39:05Essa é a maneira mais simplesona de
  1136. 39:07fazer. Dá também, ó, vou fechar todos os
  1137. 39:10arquivos. Não esquece de fechar os
  1138. 39:11arquivos para não ficar bagunçado. Vou
  1139. 39:13selecionar aqui o exercício 005, conttrl
  1140. 39:15C, conttrl V. Vou criar o exercício 006.
  1141. 39:18Só dupliquei, tá? E aí aqui além do main
  1142. 39:20eu não vou ter mais esse classe 005,
  1143. 39:22pode deixar ele aqui ainda, não apaga.
  1144. 39:23Eu vou criar novo Python file. Vou criar
  1145. 39:26o arquivo pessoa, tudo em minúsculo, tá?
  1146. 39:28Vou criar o arquivo Python file, aluno,
  1147. 39:31também vou criar o arquivo professor,
  1148. 39:33também vou criar o arquivo funcionário,
  1149. 39:36certo? Então eu tenho agora aqui além do
  1150. 39:38meu main, que é o meu arquivo principal,
  1151. 39:40eu vou ter aluno, vou ter funcionário,
  1152. 39:43professor e pessoa. E aí o que que eu
  1153. 39:45vou fazer? Eu vou vir aqui nessa classe,
  1154. 39:46vou pegar a classe pessoa, pegar o
  1155. 39:49código de pessoa, contrtrl X e vou jogar
  1156. 39:52aqui dentro de pessoa. Cadê pessoa? Tá
  1157. 39:53aqui, ó. Joguei pessoa aqui dentro
  1158. 39:56também. Vou pegar a classe aluno, ó.
  1159. 39:59Contrtrol X. Vou jogar aqui dentro de
  1160. 40:01aluno com uma pequena alteração, ó.
  1161. 40:03Conttrl V. Como não tem pessoa aqui, vem
  1162. 40:05aqui, ó. From pessoa, import pessoa.
  1163. 40:09Lembrando, ó, maiúsculo e minúsculo, tá?
  1164. 40:10Aqui pessoa minúscula é o nome do
  1165. 40:12arquivo e aqui pessoa P maiúscula é o
  1166. 40:13nome da classe, certo? Também vou fazer
  1167. 40:15a mesma coisa para Opa, o fazer
  1168. 40:17matrícula não foi, ó. Deixa eu tirar
  1169. 40:19esse fazer matrícula daqui e jogar
  1170. 40:21dentro de aluno. Ficou faltando. Beleza.
  1171. 40:24Organiza aí para ficar tudo bonitinho.
  1172. 40:26Também vou pegar a classe professor e
  1173. 40:28vou fazer a mesma coisa, ó. Vou pegar
  1174. 40:29todo o código do professor, vou tirar
  1175. 40:31daqui, vou jogar aqui, ó. From pessoa,
  1176. 40:34import pessoa, porque eu também vou
  1177. 40:37precisar, né? Porque professor é uma
  1178. 40:38pessoa, herança, né? Então tem que
  1179. 40:40importar. E também tem o funcionário.
  1180. 40:42Vou vir aqui nas classes, vou pegar o
  1181. 40:44código de funcionário, tiro daqui e jogo
  1182. 40:47para dentro de funcionário. From
  1183. 40:48pessoas, import pessoa e também tá lá
  1184. 40:52funcionário. Eu assim, eu gosto disso.
  1185. 40:55Para esse projeto pequenininho, não fez
  1186. 40:56sentido fazer tanta coisa assim. E esse
  1187. 40:59arquivo classe aqui, ó, a gente já pode
  1188. 41:00remover ele, ó. Posso apertar aqui
  1189. 41:02delete. Ah, eu não posso deletar ainda
  1190. 41:05porque olha só, eu eu preciso vir aqui
  1191. 41:07no main. Esse import aqui não vai
  1192. 41:08funcionar mais, né? Eu vou ter que tirar
  1193. 41:10essa daqui e vou ter que importar, já
  1194. 41:11que eu quero aluno, professor e
  1195. 41:12funcionário nesse exercício. From aluno,
  1196. 41:15importo,
  1197. 41:17from professor, import professor e from
  1198. 41:20funcionário, importário. Certo? Agora
  1199. 41:24sim eu posso deletar esse classe 5 aqui.
  1200. 41:27Ã, safe delete. Ok, beleza. Agora eu
  1201. 41:30posso executar, ó. Vou deixar o main
  1202. 41:31aberto, né? Aqui em cima, current file e
  1203. 41:34vou dar play. Funcionou? Ainda não.
  1204. 41:36Calma aí. A um fazer matrícula. Vamos
  1205. 41:38fazer matrícula que tem algum problema
  1206. 41:40no aluno aqui. Ah, tá. É porque quando
  1207. 41:42eu colei, ó, viu? Eu eu falei para você
  1208. 41:44olhar direitinho e e não olhei o meu.
  1209. 41:46Vou voltar aqui a identação. Usei o
  1210. 41:48shift delete para ele ficar certinho
  1211. 41:50aqui na ção, né? Lembrando que Python
  1212. 41:52sem identação não é Python. Vou voltar
  1213. 41:54aqui pro main, vou mandar executar. Aí
  1214. 41:55tá lá, ó. José acabou de fazer
  1215. 41:57matrícula, professor Samuel começou a
  1216. 41:58dar aula, Cláudia acabou de bater ponto,
  1217. 42:00certo? tá funcionando. Então,
  1218. 42:02basicamente, o que a gente fez foi isso
  1219. 42:03aqui. A gente separou as classes. A
  1220. 42:05gente tem o main e a gente tem as
  1221. 42:06classes. Botar um exemplo aqui da da
  1222. 42:08divisão que a gente fez, ó. A gente tem
  1223. 42:10o o arquivo main. O arquivo main.p, se
  1224. 42:13eu precisar de um aluno, ele vai
  1225. 42:15carregar a classe aluno. E dentro da
  1226. 42:17classe aluno. Eu tenho também o arquivo
  1227. 42:20pessoa. Pai, que tem a classe Pessoa,
  1228. 42:21certo? E o M também vai chamar professor
  1229. 42:23e também vai chamar funcionário.
  1230. 42:25Tranquilo? É basicamente essa
  1231. 42:26arquitetura aqui que a gente criou
  1232. 42:28organizacional. Tranquilo? Então, olha
  1233. 42:30só, eh, eu não gosto muito dessa
  1234. 42:33organização para projetos pequenos, mas
  1235. 42:35para projetos grandes, isso daqui ajuda
  1236. 42:37demais. Inclusive tem a possibilidade
  1237. 42:39até de pegar todas essas classes, jogar
  1238. 42:40dentro de uma pasta para poder, né,
  1239. 42:42organizar os módulos, tá? Outra coisa
  1240. 42:44importante, quando o projeto é grande, o
  1241. 42:45meu main.p, esse nome de arquivo, é o
  1242. 42:47nome padrão, tá? É underline_line
  1243. 42:49main.p. Tem gente que, né, o certo de
  1244. 42:52fazer seria isso daqui, ó. A gente não
  1245. 42:53vai fazer muito não. A gente vai fazer
  1246. 42:55def main, a gente vai querer colocar
  1247. 42:56tudo isso aqui dentro de um método
  1248. 42:58chamado main. Isso aqui vai ter que tudo
  1249. 43:00entrar, tá? Ó aqui, ó. Tudo indetado
  1250. 43:02para dentro. Então, tem o método main,
  1251. 43:03só que tem um problema. Se eu executar
  1252. 43:05aqui, ele agora parou de fazer tudo. E
  1253. 43:07aí eu vou ter que fazer um if lá
  1254. 43:08embaixo, ó. Você vai fazer o seguinte
  1255. 43:10aqui, ó. Se underline underline name for
  1256. 43:12igual igual a underline underline, entre
  1257. 43:15aspas, main, ou seja, se o nome do
  1258. 43:17arquivo for main, ele vai chamar o
  1259. 43:18método main, certo? Isso daqui é quando
  1260. 43:20você tem módulos muito grandes, o
  1261. 43:22arquivo underline underline Min, né? O
  1262. 43:24código tem que est dentro de um de uma
  1263. 43:25função, tá? Então eu tenho lá, ó, o
  1264. 43:27defm, que é uma uma função main, uma
  1265. 43:29função normal, um método normal, né? Não
  1266. 43:31tá dentro de classe e esse if aqui de
  1267. 43:33baixo simplesmente vai verificar o nome
  1268. 43:35do arquivo é underline_line main.p, não
  1269. 43:38precisa do pp, tá? É só underline. O
  1270. 43:39nome do arquivo é underline_line main.
  1271. 43:41Ah, o nome do arquivo é underline_line
  1272. 43:42main, então chama o main. Isso daqui é
  1273. 43:45uma segurança para modularização, para
  1274. 43:47programação modular com Python. E aí ele
  1275. 43:50voltou a funcionar. Beleza? Então olha
  1276. 43:52só, a gente fez nessa aula o exercício
  1277. 43:544, 5 e 6. O qu sem modularização
  1278. 43:57nenhuma, tá? Todo a classe, os objetos
  1279. 44:00no mesmo arquivo. A gente vai até fazer
  1280. 44:02isso de novo algumas vezes, sem problema
  1281. 44:04nenhum, tá? Para arquivos pequenos, para
  1282. 44:06projetos pequenos, tudo bem fazer como o
  1283. 44:09exercício quatro. O exercício cinco, eu
  1284. 44:11joguei a parte principal, dá para fazer
  1285. 44:13também aquele negocinho aqui, ó.
  1286. 44:14Deathman, jogar isso aqui para dentro,
  1287. 44:18só para modularizar, tá? E aqui é aquele
  1288. 44:20if lá, se underline_line name for igual
  1289. 44:25dois iguais, tá? Não esquece
  1290. 44:26underline_line main do também chama a
  1291. 44:30função main. Aí vocês vão ver em vários
  1292. 44:32livros aqui. Deixa eu executar só para
  1293. 44:33ver se tá funcionando. Tudo funcionando
  1294. 44:35perfeitamente. Então olha só. Então a
  1295. 44:37segunda maneira foi botando o principal
  1296. 44:39separado e todas as classes unidas num
  1297. 44:42mesmo código, certo? Lembrando que tem
  1298. 44:43as importações lá em cima, né? Eu tenho
  1299. 44:45que vir aqui em cima e importar as as
  1300. 44:47classes. E por fim, o exercício seis, eu
  1301. 44:50peguei a herança e levei ao extremo. Eu
  1302. 44:53tenho o meu código principal, que são as
  1303. 44:55chamadas, que tá muito parecido com
  1304. 44:56outro, né? Só as importações aqui
  1305. 44:57ficaram diferentes. Eu tenho a classe
  1306. 44:59pessoa só num arquivo separado, tá
  1307. 45:02vendo? Ficou pouquinho, mas quando você
  1308. 45:03vai programando e a classe tá com muita
  1309. 45:04coisa, essa é a maneira mais organizada
  1310. 45:06de fazer. Tenho também a classe aluno
  1311. 45:08também com seu código que é filho de
  1312. 45:10pessoa. Então ter que importar aqui.
  1313. 45:12Tenho também funcionário que também é
  1314. 45:14filho de pessoa e tenho também professor
  1315. 45:16que também é filho de pessoa. Cada um
  1316. 45:18com seu código, né? Cada um importando
  1317. 45:20pessoa, né? Já que tenho que utilizar
  1318. 45:22aqui, fazendo a hierarquia e meu código
  1319. 45:24principal aqui chamando todo mundo.
  1320. 45:26Fechou? Ufa, né, cara? É muita coisa.
  1321. 45:29Isso é só a introdução à herança. Espero
  1322. 45:31que você tenha entendido. Espero que
  1323. 45:33você pratique. Relaxe que a gente vai
  1324. 45:34fazer exercícios mais para frente, tá?
  1325. 45:36Mas é muito importante a gente entender
  1326. 45:38os pilares da maneira mais completa, mas
  1327. 45:42ainda assim simplificada, como eu tentei
  1328. 45:44trazer aqui nesse vídeo. Então não se
  1329. 45:45esquece, ó, deixa o like, mostra pras
  1330. 45:48pessoas, compartilha, fala: "Cara, olha
  1331. 45:50só, orientação objeto com esse cara aqui
  1332. 45:52em Python. Agora eu tô entendendo.
  1333. 45:54Espero de verdade que eu tenha te
  1334. 45:55ajudado." Fechou? Então é isso, meu
  1335. 45:57querido. É isso, minha querida. a gente
  1336. 45:58se vê na próxima aula, onde a gente vai
  1337. 46:00falar sobre o segundo pilar, na verdade,
  1338. 46:02né, que seria o primeiro, que seria
  1339. 46:04abstração, né, pros livros. Mas pra
  1340. 46:06gente aqui a abstração vai vir depois de
  1341. 46:07herança. A gente ainda vai voltar a ter
  1342. 46:09herança, tá? Essa aula aqui, se você
  1343. 46:10voltar lá, é herança parte um, a gente
  1344. 46:12vai ter herança parte dois aqui para ver
  1345. 46:14alguns conceitos
  1346. 46:15adicionais que ficaram faltando. Então,
  1347. 46:17eu não quis colocar tudo nessa aula de
  1348. 46:19herança completona não, que senão ia
  1349. 46:20ficar muito grande, né? A gente além de
  1350. 46:22herança, a gente ainda viu um pouquinho
  1351. 46:23de modularização, que foi o final do
  1352. 46:25módulo 3, né? O mundo três falou um
  1353. 46:27pouquinho sobre modularização. A gente
  1354. 46:28ainda fez modularização aqui, organizou
  1355. 46:30tudo bonitinho, fizemos o main do
  1356. 46:32módulo, né, com underline_line
  1357. 46:33main_line_line.p. Fizemos tudo
  1358. 46:35organizado. Espero que você tenha
  1359. 46:37gostado. Espero que você esteja fazendo
  1360. 46:39aí na sua casa também. Assista esse
  1361. 46:40vídeo mais de uma vez, mostra pras
  1362. 46:42pessoas e faça o curso completo, porque
  1363. 46:44ele tá muito caprichado. Um grande
  1364. 46:46abraço e a gente se vê na próxima, onde
  1365. 46:48a gente vai falar sobre abstração. Ciao
  1366. 46:50ciao
  1367. 46:53[música]

About this transcript

This page contains the full transcript of Herança em Python explicada como nunca fizeram - Curso Python POO: Aula 7 by Curso em Vídeo, generated from the public captions YouTube serves with the video. The transcript has 9,325 words across 1,367 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.