Python - Orientação a Objetos
Faz parte das formações: Desenvolvedor Python Júnior
Instituição: TreinaWeb
Descrição
Neste curso abordaremos os principais conceitos a cerca da Orientação a Objetos no Python, além disso, veremos como a linguagem implementa alguns desses conceitos de forma um pouco diferente das outras linguagens. São vídeo aulas e apostilas que mostram os principais conceitos da Orientação a Objetos da linguagem. Também serão passados exercícios para que você possa fixar, praticar e aplicar o conteúdo aprendido durante o curso.
Dentre várias outras coisas, você verá:
- O que são classes e objetos e como o Python lida com esses conceitos;
- Como criar métodos que recebem (ou não) parâmetros em seu escopo;
- Como criar construtores e destrutores personalizados para cada classe;
- Como o Python lida com o conceito de Herança;
- O que é e como funciona o Polimorfismo no Python;
- Os tipos de visibilidade existentes no Python e a importância do encapsulamento para o desenvolvimento de um software;
- Como trabalhar com classes e métodos abstratos;
- O que é o Duck-typing e como implementar pseudo-interfaces no Python.
Ementa
1 - Escopos e namespaces
Apresentação
Introdução
O que são namespaces?
Escopo de estruturas entre namespaces
Funcionamento do sistema de namespaces no Python
Trabalhando com namespaces no Python
Resoluções de escopo
Questionário 3 questões
2 - Classes e objetos
Apresentação
O que é orientação a objetos?
O que são classes?
Definição de classes: atributos
Definição de classes: métodos
O que são objetos?
A keyword self
Representações na UML
Criando classes
Definindo atributos
Definindo métodos
Declarando objetos
Métodos que recebem argumentos
Docstring
Questionário 3 questões
Desafio de código
Desafio de código
3 - Construtores e Destrutores
Apresentação
O método __init__
O método __del__
Construtores: personalizando o método __init__
Destrutores: personalizando o método __del__
Questionário 3 questões
Desafio de código
Desafio de código
4 - Herança
Apresentação
Para que serve a herança?
Quando não utilizar a herança?
Representando a herança na UML
Utilizando herança no Python
Herança múltipla
Utilizando polimorfismo no Python
Questionário 3 questões
Desafio de código
Desafio de código
5 - Atributos de visibilidade e encapsulamento
Apresentação
O que são atributos de visibilidade?
Para que serve o encapsulamento?
O que são Properties?
Representando o encapsulamento na UML
Visibilidade public
Visibilidade private
Visibilidade protected
Utilizando o encapsulamento da forma "correta"
Utilizando @property
Questionário 3 questões
Desafio de código
Desafio de código
Desafio de código
6 - Classes abstratas e a biblioteca ABC
Apresentação
O que são classes abstratas?
O que é a biblioteca ABC?
Prevenção de herança e sobrescrita de métodos
Definindo métodos abstratos com o ABC
Definindo classes abstratas com o ABC
Sobrescrita de métodos abstratos em classes-filha
Sobrescrita de métodos não-abstratos em classes-filha
Questionário 3 questões
Desafio de código
Desafio de código
Desafio de código
7 - Pseudo-interfaces
Apresentação
Python e Duck-Typing
Duck-Typing na prática
Pass e return em métodos abstratos para simular interfaces
Questionário 3 questões
Desafio de código
Desafio de código
8 - Conclusão
Conclusão
Data de Início: 17 de Abril de 2021
Data de Conclusão: 20 de Abril de 2021
Carga Horária: 20,0
Categorias: Python