Created
January 31, 2019 19:10
-
-
Save dekisr/2b49a1c9e528b6df0e1609c1591601ad to your computer and use it in GitHub Desktop.
Exemplos para Raphaelli
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
não estamos criando literalmente cada método na instanciação do | |
objeto, é uma referência aos prototypes, por isso funciona... | |
*/ | |
function Quadrupede() { | |
this.patas = 4 | |
this.cabeca = 1 | |
} | |
function Snoopy() { | |
Quadrupede.call(this) | |
this.latido = 'Whaaat' | |
this.ExemploRuim = function() { | |
//Aqui de fato estamos escrevendo a função e colocando uma em CADA objeto Snoopy instanciado... | |
console.log('desempenho?POO?') | |
} | |
} | |
Snoopy.prototype = Object.create(Quadrupede.prototype) | |
const cobaia = new Snoopy() | |
const cachorro = new Quadrupede() | |
// adicionando métodos em ambos prototypes após objeto instanciado | |
Quadrupede.prototype.fala = function() { | |
console.log(this.latido) | |
} | |
Snoopy.prototype.souBipede = function() { | |
this.patas = 0 | |
this.pes = 2 | |
this.maos = 2 | |
} | |
cobaia.fala() | |
console.log(cobaia.patas) | |
cobaia.souBipede() | |
console.log(cobaia.patas) | |
console.log(cobaia.pes) | |
// cachorro.souBipede() não existe herança de filho para mãe |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment