public static void Main() {
Animal a1 = new Animal();
protected string especie;
protected string habitat;
protected string alimentacao;
protected string periodoAtividade;
public void setSexo(string valor) {
public void setEspecie(string valor) {
public void setHabitat(string valor) {
public void setAlimentacao(string valor) {
this.alimentacao = valor;
public void setPeriodoAtividade(string valor) {
this.periodoAtividade = valor;
public void setExtinto(bool valor) {
public void setFilhote(bool valor) {
public string getPeriodoAtividade() {
return this.periodoAtividade;
public string getAlimentacao() {
public string getEspecie() {
public string getHabitat() {
public string getSexo() {
public bool getExtinto() {
public bool getFilhote() {
public virtual void reproduzir() {
Console.WriteLine("O animal " + this.especie + " encontrou um parceiro e irá se reproduzir");
public virtual void cacarAlimento() {
if (this.periodoAtividade == "diurno") {
Console.WriteLine("O animal está saindo para caçar");
Console.WriteLine("O animal está cansado para caçar");
public void dormir(int qtdHoras) {
if (horasDormidas == qtdHoras) {
Console.WriteLine("\nO animal agora vai acordar!");
Console.WriteLine("O animal dormiu " + Convert.ToString(horasDormidas) + " horas");
public virtual void seAlimentar() {
Console.WriteLine("O animal está se alimentando");
public class Mamifero: Animal {
protected string coloracaoPelos;
protected int mediaSemanasGestacao;
protected bool possuiLeite;
public void setColoracaoPelos(string valor) {
this.coloracaoPelos = valor;
public void setMediaSemanasGestacao(int valor) {
this.mediaSemanasGestacao = valor;
public void setPesoKg(float valor) {
public string getColoracaoPelos() {
return this.coloracaoPelos;
public int getMediaSemanasGestacao() {
return this.mediaSemanasGestacao;
public float getPesoKg() {
public override void seAlimentar() {
Console.WriteLine("O mamífero está comendo");
Console.WriteLine("O mamífero ainda é muito novo para comer!");
Console.WriteLine("O filhote de mamífero vai mamar agora");
public void amamentar() {
if (this.sexo == "F" && !this.filhote && this.possuiLeite) {
Console.WriteLine("O mamífero vai amamentar seus filhotes");
} else if (!this.possuiLeite) {
Console.WriteLine("O mamífero não tem leite para amamentar seus filhotes ainda");
public class Reptil: Animal {
protected bool possuiVeneno;
protected bool possuiPatas;
protected string velocidade;
public void setQtdOvos(int valor) {
public void setPossuiVeneno(bool valor) {
this.possuiVeneno = valor;
public void setPossuiPatas(bool valor) {
this.possuiPatas = valor;
public void setVelocidade(string valor) {
public int getQtdOvos() {
public bool getPossuiVeneno() {
return this.possuiVeneno;
public bool getPossuiPatas() {
public string getVelocidade() {
public override void reproduzir() {
Console.WriteLine("O réptil está reproduzindo...");
public void botarOvos() {
Console.WriteLine("O réptil está botando 2 ovos agora!");
Console.WriteLine("\nAgora, " + Convert.ToString(this.qtdOvos) + " estão esperando para chocarem");
public virtual void movimentar() {
Console.WriteLine("O réptil está se movimentando" + (this.possuiPatas ? "..." : " lentamente..."));
public class Artropode: Animal {
protected bool possuiAsas;
protected bool possuiVeneno;
public void setQtdPernas(int valor) {
public void setQtdOlhos(int valor) {
public void setClasse(string valor) {
public void setPossuiAsas(bool valor) {
public void setPossuiVeneno(bool valor) {
this.possuiVeneno = valor;
public int getQtdPernas() {
public int getQtdOlhos() {
public string getClasse() {
public bool getPossuiAsas() {
public bool getPossuiVeneno() {
return this.possuiVeneno;
public override void reproduzir() {
Console.WriteLine("O artrópode está se reproduzindo... Logo, logo, terão novos ovos de " + this.especie + "...");
public void botarOvos() {
Console.WriteLine("Os ovos artrópodes estão sendo colocados agora!!");
public override void seAlimentar() {
Console.WriteLine("Agora o artrópode terá alimento!");
public virtual void atacar() {
Console.WriteLine("O artrópode só ataca para se aliemntar e proteger seus filhotes!");
Console.WriteLine("O veneno foi injetado na vítima...");
public class Ave: Animal {
protected string corPenas;
protected float comprimentoBico;
protected float velocidadeVoo;
public void setCorPenas(string valor) {
public void setComprimentoBico(float valor) {
this.comprimentoBico = valor;
public void setVelocidadeVoo(float valor) {
this.velocidadeVoo = valor;
public string getCorPenas() {
public float getComprimentoBico() {
return this.comprimentoBico;
public float getVelocidadeVoo() {
return this.velocidadeVoo;
public virtual void voar() {
Console.WriteLine("A ave está se preparando para voar...");
Console.WriteLine("A ave está voando!");
Console.WriteLine("A ave ainda é muito nova para poder voar!\n Ela caiu da árvore :/");
Console.WriteLine("O pássaro encontrou um grupo da mesma espécie para migrar");
public void montarNinho() {
complemento = " e seu filhote";
complemento = " e seus filhotes";
Console.WriteLine("A ave está montando um ninho para ela" + complemento);
public class Mamute: Mamifero {
private float comprimentoPresas;
private float comprimentoTromba;
public float getComprimentoPresas() {
return this.comprimentoPresas;
public float getComprimentoTromba() {
return this.comprimentoTromba;
public float getAltura() {
public bool getTemBando() {
public void setComprimentoPresas(float valor) {
this.comprimentoPresas = valor;
public void setComprimentoTromba(float valor) {
this.comprimentoTromba = valor;
public void setAltura(float valor) {
public void setTemBando(bool valor) {
public void beberAgua() {
Console.WriteLine("O mamute está levando a água até a boca com a tromba");
Console.WriteLine("O mamute está bramindo para afastar seus predadores");
Console.WriteLine("O mamute está migrando em bando para fugir das geleiras descongelando");
Console.WriteLine("O mamute está migrando sozinho");
public class Tartaruga: Reptil {
private string tamanhoCasco;
this.possuiVeneno = false;
this.velocidade = "muita lenta";
public void setIdade(int valor) {
public void setTamanhoCasco(string valor) {
this.tamanhoCasco = valor;
public void setTipo(string valor) {
public void setDomestica(bool valor) {
public string getTamanhoCasco() {
return this.tamanhoCasco;
public string getTipo() {
public bool getDomestica() {
public override void seAlimentar() {
Random numAleatorio = new Random();
if (numAleatorio.Next(0, 100) > 60) {
Console.WriteLine("A tartaruga está tentando se alimentar...");
public void comerPlastico() {
Console.WriteLine("Opa! A tartaruga acabou comendo plático, coitada :/");
public class Aranha: Artropode {
public float comprimentoPresas;
this.classe = "Aracnídeo";
public void setPossuiPelo(bool valor) {
this.possuiPelos = valor;
public void setTamanho(string valor) {
public void setDomestica(bool valor) {
public void setComprimentoPresas(float valor) {
this.comprimentoPresas = valor;
public bool getPossuiPelo() {
public string getTamanho() {
public bool getDomestica() {
public float getComprimentoPresas() {
return this.comprimentoPresas;
public void criarTeias() {
for (int i = 5; i > 0; i--) {
Console.WriteLine("As teias estão prontas! Em alguns instantes elas prenderão algum inseto");
Console.WriteLine("Em " + Convert.ToString(i) + " as teias estarão prontas...");
public override void cacarAlimento() {
Console.WriteLine("Para conseguir comida a aranha precisa criar uma teia como armadilha");
public override void atacar() {
Console.WriteLine("Algum inseto ficou preso na teia!");
Console.WriteLine("A aranha fincou sua presa para imobilizar a presa de vez com seu veneno");
Console.WriteLine("A presa está indefesa e vai virar almoço de aranha");
public class Pinguim: Ave {
private float velocidadeNado;
private bool possuiCompanheiro;
private int qtdMaximaOvos;
this.corPenas = "Preto e branco";
public float getAltura() {
public float getVelocidadeNado() {
return this.velocidadeNado;
public bool getPossuiCompanheiro() {
return this.possuiCompanheiro;
public int getQtdMaximaOvos() {
return this.qtdMaximaOvos;
public void setAltura(float valor) {
public void setVelocidadeNado(float valor) {
this.velocidadeNado = valor;
public void setPossuiCompanheiro(bool valor) {
this.possuiCompanheiro = valor;
public void setQtdMaximaOvos(int valor) {
this.qtdMaximaOvos = valor;
public override void voar() {
Console.WriteLine("Pinguim não voa");
Console.WriteLine("O pinguim está nadando...");
public override void cacarAlimento() {
Console.WriteLine("O pinguim está procurando algo para comer...");
Console.WriteLine("Opa! O pinguim achou um peixe");
public override void seAlimentar() {
Console.WriteLine("O pinguim está comendo o peixe que ele achou!");