Javascript: classes e objetos
De Aulas
Revisão de 13h48min de 15 de abril de 2024 por Admin (discussão | contribs) (Criou página com 'Afluentes: Desenvolvimento Front-end I, Desenvolvimento Front-end II, Usabilidade, desenvolvimento web, mobile e jogos == Objetos == Os objetos são tipos especi...')
Afluentes: Desenvolvimento Front-end I, Desenvolvimento Front-end II, Usabilidade, desenvolvimento web, mobile e jogos
Objetos
Os objetos são tipos especiais que possuem atributos e métidos. No Javascript, temos o nome do objeto e um atributo ou método separado por ponto.
Para criar um objeto do tipo animal:
var animal = { tipo:"gato", cor:"preto" }
Para usar um atributo:
animal.cor = "branco";
document.write(animal.tipo);
É possível adicionar um novo atributo dinâmicamente:
animal.nome = "Kuroneko";
Classe
No javascript não existe exatamente o conceito orientação a objetos, mas é possível construir classes por meio da prototipação. Podemos construir variáveis e simular o comportamento de uma classe.
<!DOCTYPE html>
<html>
<head>
<title>Animal</title>
</head>
<body>
<script>
class Animal {
static cores = ["Branco", "Preto", "Malhado"];
constructor(tipo, cor, idade) {
// Atributos
this.tipo = tipo;
this.cor = cor;
this.idade = idade;
}
//Métodos
mudaIdade(novaIdade) {
this.idade = novaIdade;
}
// Método estático
static getCoresJson() {
return JSON.stringify(Animal.cores);
}
}
// Cria um objeto do tipo Animal
let gato = new Animal("gato", "Preto", 2);
let cachorro = new Animal("cão", "Branco", 1);
let gecko = new Animal("gecko", "Verde", 4);
// Imprime os atributos na página. Veja que estamos vendo o
// Objeto como um JSON e transformamos ele em string.
document.write(JSON.stringify(gato) + "<br>");
document.write(JSON.stringify(cachorro) + "<br>");
document.write(JSON.stringify(gecko) + "<br>");
document.write(JSON.stringify(Animal.cores) + "<br>");
document.write(Animal.getCoresJson());
</script>
</body>
</html>