20
JAVASCRIPT - OBJETOS Cristiano Pires Martins - Fonte: JavaScript Guia do Programador Maujor - NOVATEC

Java script aula 03 - objetos

Embed Size (px)

Citation preview

Page 1: Java script   aula 03 - objetos

JAVASCRIPT - OBJETOSCristiano Pires Martins - Fonte: JavaScript Guia do Programador

Maujor - NOVATEC

Page 2: Java script   aula 03 - objetos

Objetos

Pseudolinguagem orientada a objetos

Objetos

Coleção não ordenada de propriedades e métodos constituída por pares nome/valor;

Page 3: Java script   aula 03 - objetos

Criando Objetos

Função construtora nativa denominada Object()

var livro = new Object();

Page 4: Java script   aula 03 - objetos

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”;

Page 5: Java script   aula 03 - objetos

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 + “\n Valor Frete: ” + valorFrete);

Page 6: Java script   aula 03 - objetos

Objetos

• Outra sintaxe para recuperar os valores de propriedades de um objeto:

• var nomeAutor = livro[autor];

• var capituloCinco = livro[capitulo5];

Page 7: Java script   aula 03 - objetos

Apresentar todos os pares do objeto

var pares = “”;for(var prop in livro){

pares += prop + “: ” + livro[prop] + “\n”;};alert(pares);

Page 8: Java script   aula 03 - objetos

Objeto Livro usando objeto capítulos

aninhadovar 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”;

Page 9: Java script   aula 03 - objetos

Sintaxe Literalvar 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”

}};

Page 10: Java script   aula 03 - objetos

Objetos Sintaxe Literal

• Outra sintaxe para recuperar os valores de propriedades de um objeto:

• var autor = livro.autor;

• var autor = livro[“autor”];

Page 11: Java script   aula 03 - objetos

Objetos Sintaxe Literal

var pares = “”; for(var prop in livro) {

pares += prop + “: ” + livro[prop] + “\n”; }; alert(pares);

Page 12: Java script   aula 03 - objetos

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);

Page 13: Java script   aula 03 - objetos

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);

Page 14: Java script   aula 03 - objetos

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;

}

Page 15: Java script   aula 03 - objetos

Construtor

Denomina-se função construtora ou simplesmente construtor uma função capaz

de criar objetos

Page 16: Java script   aula 03 - objetos

Exemplo de Construtorfunction 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);

Page 17: Java script   aula 03 - objetos

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;

Page 18: Java script   aula 03 - objetos

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());

Page 19: Java script   aula 03 - objetos

Sintaxe Alternativa

function Cilindro(r,h) {this.raioBase = r;this.altura = h;this.areaBase = function calculaAreaBase()

return Math.PI * Math.pow(this.raioBase, 2);};

Page 20: Java script   aula 03 - objetos

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