Вы находитесь на странице: 1из 20

JAVASCRIPT - OBJETOS

Cristiano Pires Martins - Fonte: JavaScript Guia do Programador


Maujor - NOVATEC
Objetos

Pseudolinguagem orientada a objetos

Objetos

Coleo no ordenada de propriedades e mtodos


constituda por pares nome/valor;
Criando Objetos

Funo construtora nativa denominada Object()

var livro = new Object();


var livro = new Object(); Sintaxe para
livro.titulo = JavaScript;
livro.autor = Maujor;
criar o
livro.paginas = 432; objeto livro
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 = Funes;
livro.capitulo3 = Eventos;
livro.capitulo4 = Requisies;
Para recuperar os valores de
propriedades e mtodos

var nomeAutor = livro.autor;


var capituloQuatro = livro.capitulo4;
var valorFrete = livro.freteSedex(15700000,1,2);
alert(Autor: + nomeAutor + \nCap4: +
capituloQuatro + \n Valor 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
var livro = new Object(); objeto captulos
livro.titulo = JavaScript;
livro.autor = Maujor;
aninhado
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 no usa var
livro.capitulos.capitulo1 = Revisao JavaScript;
livro.capitulos.capitulo2 = Funes;
livro.capitulos.capitulo3 = Eventos;
livro.capitulos.capitulo4 = Requisies;
var livro = {
titulo : JavaScript,
autor : Maujor, Sintaxe Literal
paginas : 432,
preco : R$69,00,
freteSedex : function (ceporigem,cepdestino,peso){
var valorFrete = ;
valorFrete = ceporigem * cepdestino * peso;
return valorFrete;
},
capitulos:
{
capitulo1 : Revisao JavaScript,
capitulo2: Funes,
capitulo3 : Eventos,
capitulo4 : Requisies
}
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 captulos: [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 funo
construtora ou simplesmente
construtor uma funo 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
No vocabulrio de programao orientada a objetos,
uma funo construtora chamada de classe.
Em JavaScript no existem classes com o mesmo
sentido de outras linguagens;

Por conveno e de acordo com as boas prticas de programao,


nomes de construtores devem comear com letra maiscula.
Funes para os
mtodos 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 + \nrea 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; Funo Construtora
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 + \nrea da base: + cilindroDois.areaBase() + \nrea
Lateral: + cilindroDois.areaLateral() + \nrea Total: +
cilindroDois.areaTotal() + \nVolume: + cilindroDois.volume());

Вам также может понравиться