JAVASCRIPT - OBJETOS
Cristiano Pires Martins - Fonte: JavaScript Guia do Programador
Maujor - NOVATEC
Objetos
Pseudolinguagem orientada a objetos
Objetos
Coleção não ordenada de propriedades e métodos
constituída por pares nome/valor;
Criando Objetos
Função construtora nativa denominada Object()
var livro = new Object();
Sintaxe para
criar o
objeto livro
var livro = new Object();
livro.titulo = “JavaScript”;
livro.autor = “Maujor”;
livro.paginas = “432”;
livro.preco = “R$69,00”;
livro.freteSedex = function (ceporigem,cepdestino,peso){
var valorFrete = “”;
valorFrete = ceporigem * cepdestino * peso;
return valorFrete;
}
livro.capitulo1 = “Revisao JavaScript”;
livro.capitulo2 = “Funções”;
livro.capitulo3 = “Eventos”;
livro.capitulo4 = “Requisições”;
Para recuperar os valores de
propriedades e métodos
var nomeAutor = livro.autor;
var capituloQuatro = livro.capitulo4;
var valorFrete = livro.freteSedex(15700000,1,2);
alert(“Autor:“ + nomeAutor + “nCap4:“ +
capituloQuatro + “nValor Frete: ” + valorFrete);
Objetos
• Outra sintaxe para recuperar os valores de
propriedades de um objeto:
• var nomeAutor = livro[autor];
• var capituloCinco = livro[capitulo5];
Apresentar todos os
pares do objeto
var pares = “”;
for(var prop in livro){
pares += prop + “: ” + livro[prop] + “n”;
};
alert(pares);
Objeto Livro usando
objeto capítulos
aninhado
var livro = new Object();
livro.titulo = “JavaScript”;
livro.autor = “Maujor”;
livro.paginas = “432”;
livro.preco = “R$69,00”;
livro.freteSedex = function (ceporigem,cepdestino,peso){
var valorFrete = “”;
valorFrete = ceporigem * cepdestino * peso;
return valorFrete;
}
livro.capitulos = new Object(); //note que não usa “var”
livro.capitulos.capitulo1 = “Revisao JavaScript”;
livro.capitulos.capitulo2 = “Funções”;
livro.capitulos.capitulo3 = “Eventos”;
livro.capitulos.capitulo4 = “Requisições”;
Sintaxe Literal
var livro = {
“titulo” :“JavaScript”,
“autor” :“Maujor”,
“paginas” :“432”,
“preco” :“R$69,00”,
“freteSedex” : function (ceporigem,cepdestino,peso){
var valorFrete = “”;
valorFrete = ceporigem * cepdestino * peso;
return valorFrete;
},
“capitulos”:
{
“capitulo1” :“Revisao JavaScript”,
“capitulo2”:“Funções”,
“capitulo3” :“Eventos”,
“capitulo4” :“Requisições”
}
Objetos
Sintaxe Literal
• Outra sintaxe para recuperar os valores de
propriedades de um objeto:
• var autor = livro.autor;
• var autor = livro[“autor”];
Objetos
Sintaxe Literal
var pares = “”;
for(var prop in livro)
{
pares += prop + “: ” + livro[prop] + “n”;
};
alert(pares);
Listar Objetos
Aninhados
var pares = “”;
for(var prop in livro){
pares += prop + “: ” + livro[prop] + “n”;
if(typeof livro[prop] == “object”){
for(var prop1 in livro[prop]){
pares += prop1 + “: ” + livro[prop][prop1] + “n”;
}
}
};
alert(pares);
Listar Objetos Aninhados: Ocultar
a linha capítulos: [object Object]
var pares = “”;
for(var prop in livro){
if(typeof livro[prop] == “object”){
for(var prop1 in livro[prop]){
pares += prop1 + “: ” + livro[prop][prop1]
+ “n”;
}
}
else
pares += prop + “: ” + livro[prop] + “n”;
};
alert(pares);
Objeto Nativo Math
• var pi = Math.PI;
• var pot = Math.pow(x,y);
• Exemplo:
function areaBase(){
aBase = Math.PI * Math.pow(this.raioBase, 2);
return aBase;
}
Construtor
Denomina-se função
construtora ou simplesmente
construtor uma função capaz
de criar objetos
Exemplo de Construtor
function Cilindro(r,h) {
this.raioBase = r;
this.altura = h;
};
cilindroUm = new Cilindro(2,5);
alert(“Raio da base: “ + cilindroUm.raioBase +
“nAltura: “ + cilindroUm.altura);
cilindroDois = new Cilindro(20,10);
Construtor
Por convenção e de acordo com as boas práticas de programação,
nomes de construtores devem começar com letra maiúscula.
• No vocabulário de programação orientada a objetos,
uma função construtora é chamada de classe.
• Em JavaScript não existem classes com o mesmo
sentido de outras linguagens;
Funções para os
métodos criados
function Cilindro(r,h) {
this.raioBase = r;
this.altura = h;
this.areaBase = calculaAreaBase;
};
function calculaAreaBase(){
return Math.PI * Math.pow(this.raioBase, 2);
};
cilindroUm = new Cilindro(2,5);
alert(“Raio da base: “ + cilindroUm.raioBase + “nAltura: “
+ cilindroUm.altura + “nÁrea da base: “ +
cilindroUm.areaBase());
Sintaxe Alternativa
function Cilindro(r,h) {
this.raioBase = r;
this.altura = h;
this.areaBase = function calculaAreaBase()
return Math.PI * Math.pow(this.raioBase, 2);
};
function Cilindro(r,h) {
this.raioBase = r;
this.altura = h;
this.areaBase = function calculaAreaBase(){
return Math.PI * Math.pow(this.raioBase, 2);
};
this.areaLateral = function calculaAreaLateral(){
return 2 * Math.PI * this.raioBase * this.altura;
};
this.areaTotal = function calculaAreaTotal(){
return 2 * this.areaBase() + this.areaLateral();
};
this.volume = function calculaVolume(){
return this.areaBase() * this.altura;
};
};
cilindroDois = new Cilindro(3,10);
alert(“Raio da base: “ + cilindroDois.raioBase + “nAltura: “ +
cilindroDois.altura + “nÁrea da base: “ + cilindroDois.areaBase() + “nÁrea
Lateral:“ + cilindroDois.areaLateral() + “nÁrea Total: ” +
cilindroDois.areaTotal() + “nVolume: ” + cilindroDois.volume());
Função Construtora

Java script aula 03 - objetos

  • 1.
    JAVASCRIPT - OBJETOS CristianoPires Martins - Fonte: JavaScript Guia do Programador Maujor - NOVATEC
  • 2.
    Objetos Pseudolinguagem orientada aobjetos Objetos Coleção não ordenada de propriedades e métodos constituída por pares nome/valor;
  • 3.
    Criando Objetos Função construtoranativa denominada Object() var livro = new Object();
  • 4.
    Sintaxe para criar o objetolivro var livro = new Object(); livro.titulo = “JavaScript”; livro.autor = “Maujor”; livro.paginas = “432”; livro.preco = “R$69,00”; livro.freteSedex = function (ceporigem,cepdestino,peso){ var valorFrete = “”; valorFrete = ceporigem * cepdestino * peso; return valorFrete; } livro.capitulo1 = “Revisao JavaScript”; livro.capitulo2 = “Funções”; livro.capitulo3 = “Eventos”; livro.capitulo4 = “Requisições”;
  • 5.
    Para recuperar osvalores de propriedades e métodos var nomeAutor = livro.autor; var capituloQuatro = livro.capitulo4; var valorFrete = livro.freteSedex(15700000,1,2); alert(“Autor:“ + nomeAutor + “nCap4:“ + capituloQuatro + “nValor Frete: ” + valorFrete);
  • 6.
    Objetos • Outra sintaxepara recuperar os valores de propriedades de um objeto: • var nomeAutor = livro[autor]; • var capituloCinco = livro[capitulo5];
  • 7.
    Apresentar todos os paresdo objeto var pares = “”; for(var prop in livro){ pares += prop + “: ” + livro[prop] + “n”; }; alert(pares);
  • 8.
    Objeto Livro usando objetocapítulos aninhado var livro = new Object(); livro.titulo = “JavaScript”; livro.autor = “Maujor”; livro.paginas = “432”; livro.preco = “R$69,00”; livro.freteSedex = function (ceporigem,cepdestino,peso){ var valorFrete = “”; valorFrete = ceporigem * cepdestino * peso; return valorFrete; } livro.capitulos = new Object(); //note que não usa “var” livro.capitulos.capitulo1 = “Revisao JavaScript”; livro.capitulos.capitulo2 = “Funções”; livro.capitulos.capitulo3 = “Eventos”; livro.capitulos.capitulo4 = “Requisições”;
  • 9.
    Sintaxe Literal var livro= { “titulo” :“JavaScript”, “autor” :“Maujor”, “paginas” :“432”, “preco” :“R$69,00”, “freteSedex” : function (ceporigem,cepdestino,peso){ var valorFrete = “”; valorFrete = ceporigem * cepdestino * peso; return valorFrete; }, “capitulos”: { “capitulo1” :“Revisao JavaScript”, “capitulo2”:“Funções”, “capitulo3” :“Eventos”, “capitulo4” :“Requisições” }
  • 10.
    Objetos Sintaxe Literal • Outrasintaxe para recuperar os valores de propriedades de um objeto: • var autor = livro.autor; • var autor = livro[“autor”];
  • 11.
    Objetos Sintaxe Literal var pares= “”; for(var prop in livro) { pares += prop + “: ” + livro[prop] + “n”; }; alert(pares);
  • 12.
    Listar Objetos Aninhados var pares= “”; for(var prop in livro){ pares += prop + “: ” + livro[prop] + “n”; if(typeof livro[prop] == “object”){ for(var prop1 in livro[prop]){ pares += prop1 + “: ” + livro[prop][prop1] + “n”; } } }; alert(pares);
  • 13.
    Listar Objetos Aninhados:Ocultar a linha capítulos: [object Object] var pares = “”; for(var prop in livro){ if(typeof livro[prop] == “object”){ for(var prop1 in livro[prop]){ pares += prop1 + “: ” + livro[prop][prop1] + “n”; } } else pares += prop + “: ” + livro[prop] + “n”; }; alert(pares);
  • 14.
    Objeto Nativo Math •var pi = Math.PI; • var pot = Math.pow(x,y); • Exemplo: function areaBase(){ aBase = Math.PI * Math.pow(this.raioBase, 2); return aBase; }
  • 15.
    Construtor Denomina-se função construtora ousimplesmente construtor uma função capaz de criar objetos
  • 16.
    Exemplo de Construtor functionCilindro(r,h) { this.raioBase = r; this.altura = h; }; cilindroUm = new Cilindro(2,5); alert(“Raio da base: “ + cilindroUm.raioBase + “nAltura: “ + cilindroUm.altura); cilindroDois = new Cilindro(20,10);
  • 17.
    Construtor Por convenção ede acordo com as boas práticas de programação, nomes de construtores devem começar com letra maiúscula. • No vocabulário de programação orientada a objetos, uma função construtora é chamada de classe. • Em JavaScript não existem classes com o mesmo sentido de outras linguagens;
  • 18.
    Funções para os métodoscriados function Cilindro(r,h) { this.raioBase = r; this.altura = h; this.areaBase = calculaAreaBase; }; function calculaAreaBase(){ return Math.PI * Math.pow(this.raioBase, 2); }; cilindroUm = new Cilindro(2,5); alert(“Raio da base: “ + cilindroUm.raioBase + “nAltura: “ + cilindroUm.altura + “nÁrea da base: “ + cilindroUm.areaBase());
  • 19.
    Sintaxe Alternativa function Cilindro(r,h){ this.raioBase = r; this.altura = h; this.areaBase = function calculaAreaBase() return Math.PI * Math.pow(this.raioBase, 2); };
  • 20.
    function Cilindro(r,h) { this.raioBase= r; this.altura = h; this.areaBase = function calculaAreaBase(){ return Math.PI * Math.pow(this.raioBase, 2); }; this.areaLateral = function calculaAreaLateral(){ return 2 * Math.PI * this.raioBase * this.altura; }; this.areaTotal = function calculaAreaTotal(){ return 2 * this.areaBase() + this.areaLateral(); }; this.volume = function calculaVolume(){ return this.areaBase() * this.altura; }; }; cilindroDois = new Cilindro(3,10); alert(“Raio da base: “ + cilindroDois.raioBase + “nAltura: “ + cilindroDois.altura + “nÁrea da base: “ + cilindroDois.areaBase() + “nÁrea Lateral:“ + cilindroDois.areaLateral() + “nÁrea Total: ” + cilindroDois.areaTotal() + “nVolume: ” + cilindroDois.volume()); Função Construtora