diff --git a/ReinoAnimal/.idea/vcs.xml b/ReinoAnimal/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/ReinoAnimal/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ReinoAnimal/ReinoAnimal.iml b/ReinoAnimal/ReinoAnimal.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/ReinoAnimal/ReinoAnimal.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ReinoAnimal/src/Animal.java b/ReinoAnimal/src/Animal.java
new file mode 100644
index 0000000..a425d08
--- /dev/null
+++ b/ReinoAnimal/src/Animal.java
@@ -0,0 +1,35 @@
+public class Animal {
+
+ private String especie;
+
+ private String filo;
+
+ private String genero;
+
+ private String classe;
+
+ private int anoNascimento;
+
+ public Animal(String especie, String classe) {
+ this.especie = especie;
+ this.classe = classe;
+ }
+
+ public void dormir() {
+ System.out.println("Dormindo...");
+ }
+
+ public void mover(int velocidadeEmMilimetrosPorSegundo) {
+ System.out.println("Movendo-se a "
+ + velocidadeEmMilimetrosPorSegundo
+ + " mm/s...");
+ }
+
+ public void comer() {
+ System.out.println("Comendo...");
+ }
+
+ public String getEspecie() {
+ return especie;
+ }
+}
diff --git a/ReinoAnimal/src/Cachorro.java b/ReinoAnimal/src/Cachorro.java
new file mode 100644
index 0000000..63a6206
--- /dev/null
+++ b/ReinoAnimal/src/Cachorro.java
@@ -0,0 +1,25 @@
+public class Cachorro extends Mamifero {
+
+ public Cachorro() {
+ super("Canídeo");
+ }
+
+ private String raca;
+
+ public void roerOsso() {
+ System.out.println("Roendo osso...");
+ }
+
+ public void latir(int volumeEmDecibeis) {
+ System.out.println("Latindo a " + volumeEmDecibeis + "decibéis...");
+ }
+
+ @Override
+ public void emitirSom() {
+ latir(20);
+ }
+
+ public void pular() {
+ System.out.println("Pulando...");
+ }
+}
diff --git a/ReinoAnimal/src/Mamifero.java b/ReinoAnimal/src/Mamifero.java
new file mode 100644
index 0000000..b585dd6
--- /dev/null
+++ b/ReinoAnimal/src/Mamifero.java
@@ -0,0 +1,17 @@
+public class Mamifero extends Animal {
+
+ public Mamifero(String especie) {
+ super(especie, "Mamífero");
+ }
+
+ @Override
+ public void comer() {
+ System.out.println("Bebendo leite...");
+ }
+
+ public void emitirSom() {
+ System.out.println("Emitindo algum som genérico de mamífero...");
+ }
+
+
+}
diff --git a/ReinoAnimal/src/Morcego.java b/ReinoAnimal/src/Morcego.java
new file mode 100644
index 0000000..6c8b802
--- /dev/null
+++ b/ReinoAnimal/src/Morcego.java
@@ -0,0 +1,15 @@
+public class Morcego extends Mamifero {
+
+ public Morcego() {
+ super("Morceguídeo");
+ }
+
+ public void voar() {
+ System.out.println("Voando...");
+ }
+
+ @Override
+ public void emitirSom() {
+ System.out.println("Emitindo ultrassom de morcego...");
+ }
+}
diff --git a/ReinoAnimal/src/Principal.java b/ReinoAnimal/src/Principal.java
new file mode 100644
index 0000000..7e64c3d
--- /dev/null
+++ b/ReinoAnimal/src/Principal.java
@@ -0,0 +1,30 @@
+public class Principal {
+
+ public static void main(String[] args) {
+
+ Zoologico zoo = new Zoologico();
+
+ Cachorro caozinho1 = new Cachorro();
+ Cachorro caozinho2 = new Cachorro();
+ Morcego morcego1 = new Morcego();
+ Zebra zebra1 = new Zebra();
+
+ Animal animalEstranho = new Animal(
+ "Ornitorrinco da Montanha", "Nem Ele Sabe");
+
+ zoo.incluirAnimal(caozinho1);
+ zoo.incluirAnimal(caozinho2);
+ zoo.incluirAnimal(morcego1);
+ zoo.incluirAnimal(zebra1);
+
+// zoo.incluirAnimal(animalEstranho); // não seria aceito!
+
+ for (int i = 0; i < 10; i++) {
+ Mamifero mamiferoSorteado = zoo.sortearBicho();
+ System.out.println("\n" + mamiferoSorteado.getEspecie());
+ mamiferoSorteado.emitirSom();
+ }
+
+// mamiferoSorteado.latir(80); // não seria aceito, porque alguns Mamiferos não sabem latir!
+ }
+}
diff --git a/ReinoAnimal/src/Zebra.java b/ReinoAnimal/src/Zebra.java
new file mode 100644
index 0000000..fb6cfb2
--- /dev/null
+++ b/ReinoAnimal/src/Zebra.java
@@ -0,0 +1,8 @@
+public class Zebra extends Mamifero {
+
+ public Zebra() {
+ super("Zebra");
+ }
+
+
+}
diff --git a/ReinoAnimal/src/Zoologico.java b/ReinoAnimal/src/Zoologico.java
new file mode 100644
index 0000000..f325a1a
--- /dev/null
+++ b/ReinoAnimal/src/Zoologico.java
@@ -0,0 +1,22 @@
+import java.util.ArrayList;
+import java.util.Random;
+
+public class Zoologico {
+
+ private static Random random = new Random();
+
+ private ArrayList bichos;
+
+ public Zoologico() {
+ this.bichos = new ArrayList<>();
+ }
+
+ public Mamifero sortearBicho() {
+ int posicao = random.nextInt(this.bichos.size());
+ return this.bichos.get(posicao);
+ }
+
+ public void incluirAnimal(Mamifero bicho) {
+ this.bichos.add(bicho);
+ }
+}