Introdução à Programação Orientada a Objetos (POO)

POO é um paradigma de programação que organiza o código em "objetos", que são instâncias de classes. Esses objetos representam entidades do mundo real, facilitando a modelagem de problemas complexos.

Conceitos Básicos: Classe, Objeto, Atributos e Métodos
  • Classe: Define a estrutura e o comportamento dos objetos, como um "molde". A classe especifica os atributos (dados) e métodos (funções) que os objetos terão.

  • Objeto: É uma instância de uma classe, ou seja, um elemento criado a partir do molde definido pela classe.

  • Atributos: São as características de uma classe, representando dados.

  • Métodos: São as funções associadas a uma classe, que definem o comportamento dos objetos.

Herança e Polimorfismo

Herança: Herança permite que uma classe (chamada de classe derivada ou filha) herde atributos e métodos de outra classe (chamada de classe base ou pai). Isso promove a reutilização de código.

Exemplo: Sistema de cadastro de veículos, onde Carro e Moto herdam de uma classe Veiculo.

Polimorfismo

Polimorfismo permite que um método em uma classe derivada tenha o mesmo nome que na classe base, mas com comportamento diferente.

Encapsulamento e Abstração

  • Encapsulamento

    Encapsulamento restringe o acesso direto a determinados atributos e métodos de uma classe. Em Python, isso é feito por meio de atributos privados (usando _ no início do nome).

    Abstração

    A abstração permite ocultar detalhes internos e expor apenas o necessário para o uso de um objeto.

Exemplo: Sistema de cadastro de alunos com proteção de dados sensíveis.

Neste exemplo:

  • Encapsulamento: O atributo _idade é privado e só pode ser acessado através dos métodos get_idade e set_idade.

  • Abstração: A classe Aluno expõe apenas métodos para acessar ou modificar a idade de forma controlada, sem expor diretamente o atributo.