Ultimamente, estou dando mais atenção especial sobre OOP em Javascript.
Tentei criar uma classe Pessoa, como mostra o código abaixo. No entanto, criei uma outra função "Start", cujo objetivo é demonstrar o que tem dentro no atributo "nome". Não quero deslocar esta função "Start" para dentro da "Class", apenas separado. No entanto, não entendo o porquê não estar funcionando dessa maneira e qual seria a sua solução.
Segue abaixo:
var Pessoa = {
New : function(nome, idade){ return new this.Class(nome, idade) },
Class : function( nome, idade ){
this.nome = function(n){
return n ? nome = n : nome
}
this.idade = function(i){
return i ? idade = i : idade
}
},
Start: function() {
alert(this.nome);
}
}
onde para instanciar, será:
var Edu = Pessoa.New("Eduardo Ottaviani", 25),
e para chamar o que tem na variável this.nome, será:
Pessoa.Start();
Como desejei separar "Start", após a classe, ao invés de criar uma função para dentro da "Class", eu não estou conseguindo expressar o resultado dessa maneira.
Podem me dar uma luz e tbém explicarem porque não funciona dessa maneira?
Pergunta
Vinicius Espindola
Pessoal,
Ultimamente, estou dando mais atenção especial sobre OOP em Javascript.
Tentei criar uma classe Pessoa, como mostra o código abaixo. No entanto, criei uma outra função "Start", cujo objetivo é demonstrar o que tem dentro no atributo "nome". Não quero deslocar esta função "Start" para dentro da "Class", apenas separado. No entanto, não entendo o porquê não estar funcionando dessa maneira e qual seria a sua solução.
Segue abaixo:
onde para instanciar, será: e para chamar o que tem na variável this.nome, será:Como desejei separar "Start", após a classe, ao invés de criar uma função para dentro da "Class", eu não estou conseguindo expressar o resultado dessa maneira.
Podem me dar uma luz e tbém explicarem porque não funciona dessa maneira?
PS: a origem da dúvida foi em http://javiani.wordpress.com/2009/12/27/or...uages-patterns/ . Tentei postar um comentário lá, mas sempre está fora do ar.
Um abraço,
Vinicius.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.