1. Introdução a Orientação a Objetos
Last updated
Was this helpful?
Last updated
Was this helpful?
Paradigmas são formas de enxergar o mundo (os problemas, a vida, um código de um programa). O paradigma de Orientação a Objetos pode ser encarado como uma forma de pensar o seu projeto, desde a arquitetura até a implementação. Outros exemplos de paradigmas de programação são a programação imperativa e a orientada a procedimentos
Orientado a Procedimentos
Orientado a Objetos
Baseado em chamada de funções ou sub-rotinas que operam sobre elas
O fluxo de dados concentra todas as variáveis
Uma função recebe um conjunto de variáveis como argumento e retorna o resultado para o fluxo de dados, que pode ser utilizado por outras funções ou simplesmente ser exibido para o usuário
Baseia-se na utilização de componentes individuais (objetos) que colaboram para construir sistemas mais complexos
A colaboração entre os objetos é feita através do envio de mensagens
Facilita a reutilização de código;
Os modelos refletem o mundo real de maneira mais aproximada:
Descrevem de maneira mais precisa os dados;
Mais fáceis de entender e manter.
Pequenas mudanças nos requisitos não implicam em grandes alterações no sistema em desenvolvimento.
Classes: estrutura fundamental para definir novos objetos.
Uma classe é apenas a estrutura que especifica os objetos, mas não pode ser utilizada diretamente. Uma instância representa o objeto concretizado a partir de uma classe.
Exemplo de uma classe Carro com a definição de dois atributos (modelo e cor):
Instância: objeto criado com base em uma classe definida
Exemplo de uma instância de carro com o preenchimento dos atributos especificados na classe:
Instâncias possum um ciclo de vida definido pelas seguintes fases:
Criada: instância acabou de ser criada e está pronta para uso. Nesta fase os atributos possuem os valores padrões (atribuídos no método __init__
)
Manipulada: instância está sendo utilizada no momento para alguma ação (escrita de atributos, chamadas de métodos)
Destruída: instância não é mais necessária e será desalocada da memória.
Representam os comportamentos de uma classe;
Permitem acesso a atributos, tanto para recuperar os valores, como para alterá-los caso necessário;
Podem retornam ou não algum valor; e
Podem possuir ou não parâmetros.
Estrutura de um método:
def nomeDoMetodo(parametros) -> retorno:
corpo
Determina que ações devem ser executadas quando da criação de um objeto; e
Pode possuir ou não parâmetros.
Pode atribuir valores padrões para atributos opcionais
Estrutura:
Desde a versão 3.5, a linguagem Python suporta tipagem explícita. O uso de tipos é altamente recomendado para facilitar o entendimento sobre os tipos de dados que se espera como entrada ou saída de determinados métodos. Para mais detalhes, veja: