Programação orientada a objetos

A programação orientada a objetos é baseada na noção de criar um modelo do problema de destino em seus programas. A programação orientada a objetos reduz os erros de programação e promove a reutilização de código. O Python é uma linguagem orientada a objetos. Os objetos definidos em Python possuem os recursos a seguir:

  • Identidade. Cada objeto deve ser distinto, e isso deve ser testável. Os testes is e is not existem para esta finalidade.
  • Estado. Cada objeto deve ser capaz de armazenar estado. Atributos, como campos e variáveis de instância, existem para este propósito.
  • Comportamento. Cada objeto deve ser capaz de manipular seu estado. Métodos existem para este propósito.

O Python inclui os recursos a seguir para suportar programação orientada a objetos:

  • Criação de objeto baseado em classes. Classes são modelos para a criação de objetos. Os objetos são estruturas de dados com comportamento associado.
  • Herança com polimorfismo. O Python suporta herança única e múltipla. Todos os métodos de instância Python são polimórficos e podem ser substituídos por subclasses.
  • Encapsulamento com ocultação de dados. O Python permite que os atributos sejam ocultados. Quando oculto, é possível acessar atributos de fora da classe apenas por meio de métodos da classe. As classes implementam métodos para modificar os dados.