
Aqui mostraremos, em linhas gerais, o que falaremos neste curso.
Nesta aula vamos ver:
A conceituação teórica do paradigma POO (Programação Orientada a Objetos)
Uma discussão com enfoque prático de como funciona um programa baseado em POO.
Nesta aula veremos um exercício, primeiramente em uma versão não orientada a objetos e, a seguir, o mesmo exercício refatorado no paradigma da orientação a objetos.
Nesta aula veremos uma extensão do exercício anterior, porém instanciando diversos objetos da mesma classe simultaneamente com vistas a uma aplicação prática.
Da mesma forma, primeiramente implementaremos uma versão não orientada a objetos e, a seguir, o mesmo exercício refatorado no paradigma da orientação a objetos.
Nesta aula veremos:
a teoria dos métodos construtores
um exemplo prático de um método não parametrizado
Nesta aula veremos:
a continuação da teoria dos métodos construtores
dois exemplos práticos de um método parametrizado
Nesta aula veremos a diferença entre:
os atributos de instância
os atributos de classe
Como continuação da aula anterior, nesta aula veremos:
os métodos de classe
os métodos estáticos
Nesta aula veremos:
os qualificadores de acesso:
público
privado
protegido
o encapsulamento
modelo convencional
modelo Python
Esta aula é uma discussão acerca do exercício proposto na aula anterior.
Nesta aula vamos introduzir o conceito de Herança e ver, na prática, a composição do objeto final, resultado de uma herança entre duas classes.
inicializando a superclasse
acessando os membros da superclasse
Nesta aula veremos:
Herança em cadeia linear
Herança múltipla
Nesta aula veremos
A nomenclatura utilizada para designar as classes superiores e inferiores.
Quais as vantagens de se utilizar a Herança.
Proposta de dois exercícios ilustrativos.
Nesta aula discutiremos a solução dos exercícios propostos na aula anterior.
Nesta aula veremos:
Sobrecarga
Sobrescrita
Nesta aula discutiremos a solução do exercício proposto na aula anterior.
Nesta aula veremos a situação de herança múltipla chamada de Configuração do Diamante.
Nesta aula veremos o polimorfismo.
Exemplificaremos através da bastante conhecida classe "Animal".
Nesta aula discutiremos a solução do exercício proposto na aula anterior.
Em seguida veremos com que facilidade conseguimos inserir uma nova classe no sistema.
Nesta aula veremos a Sobrecarga de Operador
Exemplo com a soma na classe Retangulo retornando um valor numérico
Exemplo com a soma na classe Retangulo retornando outro objeto Retangulo
Exemplo com uma Lista de objetos da classe Retangulo
Lista de operadores mais comumente utilizados em operações de sobrecarga
Nesta aula discutiremos a solução do exercício proposto na aula anterior.
Nesta aula veremos as Interfaces e Classes Abstratas
Teoria
Um exemplo com Interface
Um exemplo com Classe Abstrata
Um exemplo de classe não abstrata que não pode ser instanciada diretamente
Nesta aula veremos como identificar que classes devem fazer parte de um novo sistema.
(todo o conteúdo desta aula e mais os conteúdos das quatro aulas seguintes estão no material anexo).
Nesta aula veremos a segunda parte de como identificar que classes devem fazer parte de um novo sistema.
Identificando atributos
Identificando métodos através da UML
Nesta aula iremos ver alguns tipos de classes além das que representam os objetos do mundo real.
Nesta aula veremos:
coesão e o acoplamento
relacionamento entre as classes (parte 1)
a associação
Nesta aula veremos:
Relacionamento entre classes (parte 2)
a Agregação
a Composição
Nesta aula iremos ver um programa não orientado a objetos e o compartilhamento de variáveis.
Nesta aula veremos duas versões do mesmo aplicativo - a primeira não POO e a segunda POO.
Nesta aula veremos um segundo exemplo de duas versões do mesmo aplicativo - a primeira não POO e a segunda POO.
Depois veremos um exemplo com um objeto adicional opcional.
Nesta aula veremos:
Literatura complementar
O que é UML ?
Que cursos são interessantes de se fazer depois deste?
Neste curso vamos ver, de uma forma simples e acessível, os principais tópicos envolvidos no paradigma da Programação Orientada a Objetos com a linguagem Python.
É um curso voltado para quem já tem conhecimentos básicos de programação, consegue elaborar programas simples e quer se desenvolver mais. Assim como pode ser bastante útil também para quem já tem mais experiência mas conhece pouco da Programação Orientada a Objetos.
O curso não deixa de ser uma abordagem introdutória, uma vez que o paradigma POO é extremamente amplo, mas posso garantir que atende à grande maioria das demandas do mercado de trabalho convencional. E, evidente, se surgirem situações novas, com o conhecimento adquirido neste curso será possível pesquisar por conta própria e resolver os problemas.
Python é hoje a linguagem mais utilizada do mundo, superando a C e a Java que vinham há anos se revezando nas duas primeiras posições. Ao final de 2021 Python passou à primeira posição (fonte índice TIOBE).
Aqui veremos desde os conceitos iniciais de Programação Orientada a Objetos até elementos mais avançados: a classe e a instância, os métodos construtores, os membros de classe e de instância, a herança simples e a herança múltipla, o problema do diamante, interfaces e classes abstratas, teoria da coesão e acoplamento, como planejar as classes do sistema e muitas outras coisas. Tudo isto acompanhado de explicações teóricas e demonstrações práticas e também exercícios propostos com as respectivas soluções.
Te convido a aprender comigo.