Javascript orientado a objetos

Neste pequeno exemplo,  fiz com que todo objeto do tipo “Function” possua um método extends. Este método é responsável por atribuir a herança na função chamadora.

Veja o link:

http://jsfiddle.net/pedroabs/VpLBm/9/

Function.prototype.extends = function(from){
this.prototype = new from();
}

function SerVivo(){
this.euSou = “ser vivo”;
}

function Pessoa(){
this.euSou = “pessoa”;
this.constructor = Pessoa;
}

// belo uso de extends em javascript
Pessoa.extends(SerVivo);

/////////////////////////////////////////////////////////////////
var serVivo = new SerVivo();

document.writeln(serVivo.constructor); // SerVivo
document.writeln(serVivo instanceof Pessoa); // false
document.writeln(serVivo instanceof SerVivo); // true
document.writeln(serVivo.euSou); // ser vivo

document.writeln(‘<br>’);
document.writeln(‘<br>’);

var pedro = new Pessoa();

document.writeln(pedro.constructor); // Pessoa
document.writeln(pedro instanceof Pessoa); // true
document.writeln(pedro instanceof SerVivo); // true
document.writeln(pedro.euSou); // pessoa

 

 

Anúncios
Esta entrada foi publicada em Javascript e AJAX com as etiquetas , . ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s