Skip to content

Latest commit

 

History

History
65 lines (46 loc) · 2.29 KB

Oque-é-poo.md

File metadata and controls

65 lines (46 loc) · 2.29 KB

O que é POO

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.

Pilares da POO

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.

Algumas definições

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.

Bom saber

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