POO(programação orientada a objetos) é um paradigma de programação que tem como objetivo deixar o código, durante a fase desenvolvimento, mais inteligível e seguro.
Abstração: É a capacidade de estipular características(atributos) e ações(métodos) a um objeto.
Encapsulamento: O objetivo desta técnica é esconder os atributos do objeto, tornando assim sua aplicação mais segura.
Herança: O objetivo desta técnica é de poder reutilizar o código que já foi escrito, fazendo com que uma classe filha herde os atributos e métodos da classe mãe, assim, poupando tempo de desenvolvimento e linhas de código mais rápidas e menos volumosas em disco.
Polimorfismo: O objetivo desta técnica é reutilizar métodos e atributos.
OBS: No python, encapsulamento não é um assunto tão abordado, então, não haverá um .md para esta técnica.
Objeto: É a instância de uma classe.
Atributos: São as variáveis de uma classe.
Métodos: São funções de uma classe.
OBS: Estes arquivos, forneceram uma visão bem superficial sobre POO.
-
Em Python, todo valor é na verdade um objeto. Seja ele uma lista, um inteiro ou uma string, tanto faz. Um script manipula esses objetos e/ou seus métodos a modo de realizar uma ação. Por exemplo, em uma class Pessoa o nome Wendrew é um objeto, a altura 1,85 também é um objeto e assim sucessivamente. Uma classe em python é um construtor de objetos e não apenas uma declaração qualquer.
-
Uma classe constrói objetos do tipo type, permitindo assim que criemos objetos desse tipo recém criado, veja:
[IN]:
class Teste(object): pass
print(type(Teste))
[OUT]:
<class 'type'>
Isso não é muito diferente de outras linguagens de programação, mas a magica ainda esta por vir, pois tendo criado o objeto com a declaração class podemos acessa-lo como qualquer outro objeto, inclusive acrescentar atributos a ele:
[IN]:
Teste.x = 0
print(Teste.x)
[OUT]:
0
Perceba que acrescentamos o atributo x ao objeto Teste, e isso faz com que as instancias desse objeto passe a ter esse atributo.