-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
59 lines (50 loc) · 1.74 KB
/
main.js
File metadata and controls
59 lines (50 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// Classe/Função Base
function Casa(quarto, banheiro, sala, cozinha) {
this.quarto = quarto;
this.banheiro = banheiro;
this.sala = sala;
this.cozinha = cozinha;
}
// Método
Casa.prototype.luz = function() {
console.log("Eletricidade");
}
// Método
Casa.prototype.agua = function() {
console.log("Molhada");
}
// Função Construtora
function CasaPopular(quarto, banheiro, sala, cozinha, lavanderia) {
Casa.call(this, quarto, banheiro, sala, cozinha);
this.lavanderia = lavanderia;
}
// CasaPopular Herda os métodos de Casa
CasaPopular.prototype = Object.create(Casa.prototype);
// Diz ao JS que CasaPopular é quem foi a Função Construtora (Se não ele diz que foi Casa);
CasaPopular.prototype.constructor = CasaPopular;
// Função Construtora
function Kitnet(salaQuarto, banheiro, cozinhaAreaServico) {
Casa.call(this, undefined, banheiro, undefined, undefined);;
this.salaQuarto = salaQuarto;
this.cozinhaAreaServico = cozinhaAreaServico;
delete this.quarto;
delete this.sala;
delete this.cozinha;
}
// Kitnet Herda os métodos de Casa
Kitnet.prototype = Object.create(Casa.prototype);
// Diz ao JS que Kitnet é quem foi a Função Construtora (Se não ele diz que foi Casa);
Kitnet.prototype.constructor = Kitnet;
// Instâncias/Objetos
const casaPopularDaMaria = new CasaPopular(2,1,1,1,1);
const kitnetDoJoao = new Kitnet("Sala/Quarto Combinados", 1,"Cozinha e Área de Serviço Combinados");
const casaPopularDoEduardo = new CasaPopular(2,2,1,1,1);
// Mostra Objetos no Console
console.log(casaPopularDaMaria);
console.log(kitnetDoJoao);
console.log(casaPopularDoEduardo);
// Testa os Métodos
kitnetDoJoao.agua();
casaPopularDaMaria.luz();
casaPopularDoEduardo.agua();
casaPopularDoEduardo.luz();