Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 69 additions & 1 deletion Atividades/Em aula/Exercicios.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,34 @@
1. Adicione uma função `quantasChaves()` a **todos** os objetos, que retorna quantas chaves aquele objeto possui.

### Lição feita 🤣👌

```
Object.prototype.quantasChaves = function quantasChaves() {
Object.keys(this).length;
};

function Gato(name, idade, cor) {
this.name;
this.idade;
this.cor;
}

let james = new Gato("James", 10, "cinza");

Gato.prototype.especie = "felino";

james = {
nome: "James",
idade: 10,
cor: "cinza",
};

Object.keys(james);

```

2. A partir do nosso objeto de `Cachorro` da semana passada, escreva um novo construtor que utilize classes. Lembre-se que cachorros precisam `latir()`.

```
{
nome: "Zeus",
Expand All @@ -12,4 +40,44 @@
}
```

3. Escreva uma função `brincar`, que te dá instruções sobre como brincar com cada espécie de animal. A função deve receber um animal como parâmetro (gato, cachorro, cobra, papagaio e pelo menos mais um outro animal de sua escolha) e, baseado na sua espécie, retornar qual brinquedo você deveria usar com ele. Ou, se for uma cobra, te dizer para não brincar com ela.
```
class Dogo {
constructor(nome, idade, cor, castrado, raca) {
this.name;
this.idade;
this.cor;
this.castrado;
this.raca;
this.historico = [];
}
latir() {
console.log("AuAu!");
}
}


const Kank = new Dogo("Kank", 10, "cinza", true, "Border Collie");


```

3. Escreva uma função `brincar`, que te dá instruções sobre como brincar com cada espécie de animal. A função deve receber um animal como parâmetro (gato, cachorro, cobra, papagaio e pelo menos mais um outro animal de sua escolha) e, baseado na sua espécie, retornar qual brinquedo você deveria usar com ele. Ou, se for uma cobra, te dizer para não brincar com ela.

```
function brincar(animal) {
if (animal instanceof Dogo) {
console.log("brincar de bolinha");
} else if (animal instanceof Cat) {
console.log("brincar de laser");
} else if (animal instanceof Papagaio) {
console.log("brincar de cantar");
} else if (animal instanceof Hamister) {
console.log("brincar de roda de hamister");
} else if (animal instanceof Macaco) {
console.log("brincar de jogar banana");
} else {
console.log("não da para brincar");
}
}

```
97 changes: 97 additions & 0 deletions Atividades/Em aula/class.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
class Dogo {
constructor(nome, idade, cor, castrado, raca) {
this.name;
this.idade;
this.cor;
this.castrado;
this.raca;
this.familia = "canidae"; // liçao 3
this.historico = [];
}
latir() {
console.log("AuAu!");
}
}

let Kank = new Dogo("Kank", 10, "cinza", true, "Border Collie");

///////////////////

function brincar() {
if (this.familia == "canidae") {
return console.log("brincar de bolinha");
}
}

Dogo.prototype.brincar = function brincar() {
if (this.familia == "canidae") {
return console.log("brincar de bolinha");
}
};

// Object.defineProperty(Dogo, "brincar", {});

///////////////////////////////////////////

class Historic {
constructor() {
this.consultas = [];
this.vacinas = [];
this.procedimento = [];
}
consultar() {
this.historico.consultas.push(Date());
}
vacinar(value) {
this.historico.vacinas.push(value);
}
examinar(value) {
this.historico.procedimento.push(value);
}
}

function brincar() {
if (this.familia == "canidae") {
return console.log("brincar de bolinha");
} else if (this.familia == "felinus") {
return console.log("brincar de laser");
}
}

class Animal {
constructor(nome, idade, cor) {
this.nome;
this.idade;
this.cor;
}

}

class Cat extends Animal {
constructor(nome, idade, cor, raca) {
super(nome, idade, cor);
this.raca;
this.historico = new Historic();
}
super()
miar() {
console.log("Miau!");
}
}


function brincar(animal) {
if (animal instanceof Dogo) {
console.log("brincar de bolinha");
} else if (animal instanceof Cat) {
console.log("brincar de laser");
} else if (animal instanceof Papagaio) {
console.log("brincar de cantar");
} else if (animal instanceof Hamister) {
console.log("brincar de roda de hamister");
} else if (animal instanceof Macaco) {
console.log("brincar de jogar banana");
} else {
console.log("não da para brincar");
}
}
29 changes: 29 additions & 0 deletions Atividades/Em aula/proto.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Object.prototype.quantasChaves = function quantasChaves() {
Object.keys(this).length;
};

function Gato(name, idade, cor) {
this.name;
this.idade;
this.cor;
}

// james = new Gato("James", 10, "cinza");

Gato.prototype.especie = "felino";

james = {
nome: "James",
idade: 10,
cor: "cinza",
};

Object.keys(james);

// resultado = 3

// Object.keys() vai mostrar keys que estao fora de __proto__ então
// o resultado vai ser 3 pq so tem nome, idade, cor.

// Não é boa pratica add coisas em algo que a linguagem ja deu como
// Object
Loading