Compreendendo Orientação a Objetos
Aula 02 - Paradigmas e Pilares
Os paradigmas de programação são o
Imperativo e Declarativo. O primeiro
foca em como voce vai resolver os problemas e o
segundo em o que voce vai fazer. O paradigma
Declarativo tem o foco em programação funcional onde
voce simplesmente declara o que será feito, ou em
bancos de dados SQL.
Orientação a Objetos e programação procedural são tipo de paradigma imperativos.
Na Orientação a Objetos os programas são 'Objetos' que possuem uma série de propriedades.
Os pilares da OO são: Herança, Polimorfismo, Encapsulamento e Abstração.
Abstração: Processo mental que consiste em isolar um aspecto determinado de um estado de coisas relativamente complexo, a fim de simplificar a sua avaliação, classificação ou para permitir a comunicação do mesmo.
Herança: O objeto filho herda propriedades e métodos do objeto pai.
Encapsulamento: Cada classe tem propriedades e métodos independentes do restante do código.
Polimorfismo: Objetos podem herdar a mesma classe pai, mas se comportarem de forma diferente quando invocamos seus métodos.

Orientação a Objetos e programação procedural são tipo de paradigma imperativos.
Na Orientação a Objetos os programas são 'Objetos' que possuem uma série de propriedades.
Os pilares da OO são: Herança, Polimorfismo, Encapsulamento e Abstração.
Abstração: Processo mental que consiste em isolar um aspecto determinado de um estado de coisas relativamente complexo, a fim de simplificar a sua avaliação, classificação ou para permitir a comunicação do mesmo.
Herança: O objeto filho herda propriedades e métodos do objeto pai.
Encapsulamento: Cada classe tem propriedades e métodos independentes do restante do código.
Polimorfismo: Objetos podem herdar a mesma classe pai, mas se comportarem de forma diferente quando invocamos seus métodos.
Orientação a Objetos em Javascript
Aula 03 - Protótipos e classes
Protótipos em JS são o esqueleto de todos os
objetos. Todos os objetos JS herdam propriedaddes e
métodos de um prototype. O objeto
Object.prototype está no topo dessa cadeia.
Classes em JS não existem nativamente. Elas são um syntatic sugar uma sintaxe feita para facilitar a escrita.
Todas as classes em JS são objetos e a herança se dá por protótipos.
A estrutura básica de uma classe JS possui um método constructor() e getter e setter que manipulam os atributos do objeto.
Para as classes filhas utilizamos o método super() que indica para a classe pai quais os atributos são extendidos.

Classes em JS não existem nativamente. Elas são um syntatic sugar uma sintaxe feita para facilitar a escrita.
Todas as classes em JS são objetos e a herança se dá por protótipos.
A estrutura básica de uma classe JS possui um método constructor() e getter e setter que manipulam os atributos do objeto.
Para as classes filhas utilizamos o método super() que indica para a classe pai quais os atributos são extendidos.
Aula 04 - Atividade prática
Criamos a classe ContaBancaria com um
constructor() que recebe os parametros
indicados. Esses parametros são incluidos como
atributos da classe. Entre eles o saldo deve
ter criados os métodos get() e
set().
