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
130 changes: 130 additions & 0 deletions Atividades/Em aula/Exercicio.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
class Cachorro{
#cor //privado
static nomeCientifico = "Canis lupus familiaris"; //É um atributo da classe, não do objeto, serve para todos os cachorros e nao para um especifico como instanciei o cachorro1
constructor(nome, idade, cor , castrado, raca){
this.nome = nome;
this.idade = idade;
this.#cor = cor;
this.castrado = castrado;
this.raca = raca;
this.historicoMedico = { vacinas: [], consultas: [], procedimentos: [] };
}
static chamar(){
console.log(`ps ps ps`)
}
latir(){
console.log("Au au");
}
addVacina(vacina){
this.historicoMedico.vacinas.push(vacina);
}
addConsulta(consulta){
this.historicoMedico.consultas.unshift(consulta);
}
addProcedimento(tipo, motivo){
this.historicoMedico.procedimentos.unshift({ tipo: tipo, motivo: motivo });
}
get getCor() {
return this.#cor;
}
setCor(newCor) {
this.cor = newCor;
}
fofocar(){
console.log(`O cachorro ${this.nome} está fofocando o segredo da cor ${this.#cor}`);
}
}

let cachorro1 = new Cachorro("Rex", 3, "Marrom", true, "Vira-lata");
cachorro1.addConsulta("14/07/2023");
cachorro1.addConsulta("15/07/2023");
cachorro1.addVacina("Vacina 1");
cachorro1.addVacina("Vacina 2");
cachorro1.addProcedimento("Castração", "Saúde");
cachorro1.addProcedimento("Hemograma", "Saúde");
console.log(cachorro1);
console.log(cachorro1.historicoMedico)


let cachorro2 = new Cachorro("Reweqwewqex", 3, "Marrom", true, "Vira-lata");
cachorro2.addConsulta("14/07/2023");
cachorro2.addConsulta("15/07/2023");
cachorro2.addVacina("Vacina 1");
cachorro2.addVacina("Vacina 2");
cachorro2.addProcedimento("Castração", "Saúde");
cachorro2.addProcedimento("Hemograma", "Saúde");
console.log(cachorro2);
console.log(cachorro2.historicoMedico)

let cachorro3 = new Cachorro("Toto", 2, "Preto", false, "Poodle");
console.log(cachorro2.getCor);
console.log(cachorro2.cor)
console.log(cachorro2.fofocar())

Cachorro.chamar();
console.log(Cachorro.nomeCientifico);


// 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 Animal {
constructor(nome, idade, especie) {
this.nome = nome;
this.idade = idade;
this.especie = especie;
}

brincar(tipo_animal) {
if (tipo_animal == "cachorro") {
return "Você pode brincar de buscar a bolinha";
} else if (tipo_animal == "gato") {
return "Você pode brincar de bolinha de lã";
} else if (tipo_animal == "cobra") {
return "Não é possível brincar com uma cobra";
} else if (tipo_animal == "papagaio") {
return "Você pode ensinar o papagaio a falar";
} else if (tipo_animal == "coelho") {
return "Você pode brincar de esconde-esconde";
} else {
return "Animal não encontrado";
}
}
}

class Cachorro extends Animal {
brincarCachorro() {
return super.brincar("cachorro");
}
}

class Gato extends Animal {
brincarGato() {
return super.brincar("gato");
}
}

class Cobra extends Animal {
brincarCobra() {
return super.brincar("cobra");
}
}

class Papagaio extends Animal {
brincarPapagaio() {
return super.brincar("papagaio");
}
}

class Coelho extends Animal {
brincarCoelho() {
return super.brincar("coelho");
}
}

let cachorro = new Cachorro("Rex", "Marrom", "Cachorro");
let gato = new Gato("Miau", "Preto", "Gato");
let cobra = new Cobra("Cobrinha", "Verde", "Cobra");
let papagaio = new Papagaio("Loro", "Verde", "Papagaio");
let coelho = new Coelho("Bolinha", "Branco", "Coelho");
console.log(cachorro.brincarCachorro());

176 changes: 176 additions & 0 deletions Atividades/Em casa/Exercicio.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
class Animal{
#ferido = false;
constructor(nome, idade, cor, castrado,especie){
this.nome = nome;
this.idade = idade;
this.cor = cor;1
this.castrado = castrado;
this.vacinas = [];
this.consultas = [];
this.especie = especie;
this.#ferido;
}
setFerido(ferido){
this.#ferido = ferido;
}
vacinar(nova_vacina){
this.vacinas.push(nova_vacina);
this.consultar('vacinação', new Date());
}
consultar(motivo,data){
if (this.especie == 'hamster'){
this.consultas.push({motivo:motivo, data:data});
this.brincar();
}else{
this.consultas.push({motivo:motivo, data:data});
}
}
castrar(){
if (this.castrado == false){
this.castrado = true;
console.log('Castrando o animal...')
this.consultar('castração', new Date());
} else {
console.log('Animal já castrado!')
}
}
alimentar(comida){
if (this.especie == 'gato'){
if (comida == 'frango' || (comida == 'sache') || comida == 'peixe'){
console.log(`Alimentando o ${this.especie} com ${comida} favorito dele`)
this.social = true;
} else {
console.log(`Alimentando o ${this.especie} com ${comida}`)
this.social = false;
}
}
else if (this.especie == 'papagaio'){
console.log(`Alimentando o ${this.especie} com ${comida}`)
this.falar();
} else {
console.log(`Alimentando o ${this.especie} com ${comida}`)
}
}
acariciar(){
if (this.social == true){
this.ronronar();
}else{
this.silvar();
}
}
brincar(){
if (this.especie == 'papagaio'){
console.log('Estou brincando com o papagaio!')
this.falar();
} else if (this.especie == 'cachorro'){
if (this.#ferido) {
console.log('O cachorro está ferido, não pode brincar!');
} else {
console.log("Estou brincando com o cachorro!");
}
} else {
console.log(`Estou brincando com o ${this.especie}!`)
}
}
chamar(lista_animais) {
let atenderam_chamado = [];
let nao_atenderam_chamado = [];

lista_animais.forEach(animal => {
if ((animal.especie === 'gato' && animal.social === true) || animal.especie === 'cachorro') {
atenderam_chamado.push(animal.nome);
} else {
nao_atenderam_chamado.push(animal.nome);
}
});
console.log('Animais que atenderam o chamado:', atenderam_chamado);
console.log('Animais que não atenderam o chamado:', nao_atenderam_chamado);
}
}

class Gato extends Animal {
constructor(nome,idade,cor,castrado, externo){
super(nome, idade, cor, castrado,'gato');
this.externo = externo;
this.social;
}
miar(){
console.log("Miau!!!");
}
ronronar(){
console.log("Rrrr!");
}
silvar(){
console.log("Ssss!");
}
}
class Cachorro extends Animal {
constructor(nome,idade,cor,castrado, raca){
super(nome, idade, cor, castrado,'cachorro');
this.raca = raca;
}
latir(){
console.log("Au au!");
}
}
class Hamster extends Animal {
constructor(nome,idade,cor,tipo){
super(nome, idade, cor, false, 'hamster');
this.tipo = tipo;
}
}
class Papagaio extends Animal {
constructor(nome,idade,cor){
super(nome, idade, cor,false,'papagaio');
}
falar(){
console.log("O Papagaio está falando!");
}
}

//Testes

let gato = new Gato('Mingau', 2, 'frajola', false, 'Domestico');
let cachorro = new Cachorro('Valentina', 5, 'Preto e Branco', false, 'Dálmata');
let cachorro2 = new Cachorro('Dorinha', 1, 'bege', false, 'Poodle');
let hamster = new Hamster('Hamtaro', 1, 'Branco e Laranja','Sírio');
let papagaio = new Papagaio('Louro José', 5, 'Verde');

//Gatos sociáveis ronronam ao serem acariciados. Se um gato não for sociável, ele deve silvar.
// Você pode tornar um gato sociável alimentando ele com uma das comidas favoritas dos gatos: frango, sachê ou peixe.

gato.alimentar('melancia');
gato.acariciar();
gato.alimentar('frango');
gato.acariciar();

// Cachorros costumam esconder quando estão feridos. Use um campo privado para essa informação, e só a exiba ao tentar `brincar()` com um cãozinho que está ferido.

cachorro.brincar();
cachorro.setFerido(true);
cachorro.brincar();

//Ao consultar um hamster, você deve brincar com ele para que ele não fique estressado e tente fugir.

hamster.consultar('Exame de sangue','15/07/2023');

// Ao brincar com ou alimentar um papagaio, ele deve falar com você.

papagaio.alimentar('maçã');
papagaio.brincar();

//Sempre que vacinar um paciente, você deve adicionar uma nova consulta na lista. O mesmo vale para castrar um animal.
cachorro2.vacinar('Raiva');
cachorro2.vacinar('V8');
cachorro2.castrar();
console.log(cachorro2);

//Tentar castrar um animal que já está castrado deve retornar um erro.
gato.castrar();
gato.castrar();

//Você deve ter uma função `chamar()`, que recebe uma lista de animais e retorna quais dos animais da lista responderam e vieram brincar. Todos os cachorros respondem quando chamados, assim como os gatos que são sociais. Hamsters, papagaios e gatos não sociais não virão.

lista = [gato, cachorro, cachorro2, hamster, papagaio];
let animal = new Animal();
animal.chamar(lista);
2 changes: 1 addition & 1 deletion Atividades/Em casa/Exercicios.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Nome:
Nome: CARLA MARQUES

Nossa veterinária agora atende quatro espécies diferentes de animais: dois domésticos (`Gato` e `Cachorro`), e dois exóticos (`Hamster` e `Papagaio`). Usando o que você aprendeu essa semana (classes, herança, sobrescritas, campos privados...) e os exemplos de animais abaixo, escreva um sistema que atenda aos critérios listados:

Expand Down