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
eis 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.