codequick-darkmode-logo
EntrarRegistrar
Programação Orientada a Objetos em Python

Syllabus:

Programação Orientada a Objetos em Python

16 Aulas 262 Perguntas de Programação Online


Quais tópicos serão abordados no curso?

Noções Básicas de OOP em Python

  1. Introdução:

    • Visão Geral e Objetivos do Curso

    • Importância da Programação Orientada a Objetos em Python

    • Pré-requisitos e Primeiros Passos

  1. Classes e Objetos:

    • Definindo classes e objetos em Python

    • Entendendo atributos de classe e atributos de instância

    • Implementando construtores (__init__) para inicializar objetos

    • Criando e manipulando objetos

  1. Atributos e Métodos:

    • Trabalhando com instance methods e class methods

    • Entendendo method overloading e overriding

    • Implementando static methods

    • Encapsulando dados usando private e protected attributes

  1. Herança:

    • Criando e usando subclasses em Python

    • Implementando herança para reutilizar código

    • Entendendo a ordem de resolução de métodos (MRO)

    • Usando super() para acessar métodos da superclasse

  1. Encapsulamento:

    • À medida que nos aproximamos do final de nossa jornada, focamos em encapsulamento, um conceito crucial na programação orientada a objetos.

    • Explorando modificadores de acesso como public, private e protected

    • Entendendo como os modificadores de acesso restringem o acesso aos membros da classe

    • Implementando encapsulamento para proteger dados dentro das classes

  1. Polimorfismo:

    • Entendendo polimorfismo e seus tipos

    • Implementando sobrescrita de método e sobrecarga de operadores

    • Usando polimorfismo para escrever código flexível e reutilizável

  1. Métodos Especiais (Métodos Mágicos):

    • Explorando métodos especiais como __str__, __repr__, __len__, __add__

    • Entendendo o propósito e uso de métodos especiais

    • Implementando comportamento personalizado usando métodos especiais

  1. Abstração e Interfaces:

    • Entendendo classes abstratas e métodos abstratos

    • Usando o módulo ABC (Abstract Base Classes) para abstração

    • Implementando interfaces e aderindo ao contrato

  1. Composição e Agregação:

    • Entendendo composição e agregação

    • Construindo objetos complexos usando composição

    • Implementando agregação para modelar relacionamentos

  1. Propriedades e Decoradores:

    • Implementando métodos getter e setter

    • Entendendo decoradores de propriedade (@property, @setter, @deleter)

    • Usando propriedades para encapsular atributos

  1. Herança Múltipla:

    • Entendendo a herança múltipla e suas armadilhas

    • Usando herança múltipla para combinar recursos de várias classes

    • Gerenciando a ordem de resolução de métodos (MRO) na herança múltipla

  1. Ordem de Resolução de Métodos (MRO):

    • Ordem de Resolução de Métodos (MRO), um aspecto crucial da herança em Python.

    • Entendendo como o Python determina a ordem na qual os métodos são resolvidos

    • Usando super() para navegar pela Ordem de Resolução de Métodos

  1. Duck Typing:

    • Entendendo o conceito de Duck Typing

    • Implementando Duck Typing para escrever código flexível

    • Utilizando Duck Typing para trabalhar com diferentes tipos de objetos

  1. Ocultação de Dados:

    • Entendendo encapsulamento e ocultação de dados

    • Usando encapsulamento para restringir o acesso aos dados

    • Implementando atributos e métodos privados

  1. Composição em vez de Herança:

    • Entendendo o princípio da composição em vez de herança

    • Identificando cenários onde a composição é preferível

    • Construindo código flexível e sustentável usando composição

  1. Considerações Finais sobre a Programação Orientada a Objetos em Python:

    • Refletindo sobre a Jornada de Aprendizado da Programação Orientada a Objetos em Python

    • Agradecimentos e Próximos Passos