What does the fox say? Ring-ding-ding-ding-dingeringeding
In this lab, we won’t be doing any math!
Our goal is to learn about inheritance, so we will create 6 classes (in addition to the provided tester class):
• Animal – skeleton provided
• Dog
• Cat
• Bird
• Fish
• Fox
1. Finish the Animal class as indicated in the //TODO: comments
2. For each of the other classes:
• Extend from Animal
• Override the following methods: numberOfLegs, numberOfWings, and breatheUnderwater.
For each animal determine if the method makes sense and if it doesn’t, throw a RuntimeException
explaining that a cat doesn’t have wings or that a dog can’t breathe underwater. Since
breatheUnderwater has a void return type, for any animal that can breathe under water, you don’t
have to do anything in that method.
• Note that in Dog, Cat, Bird, Fish, and Fox there should not be any of the following methods:
getSoundMade, hasLegs, hasWings, or hasGills. We want to inherit this functionality from
the Animal class.
Once you have implemented your code correctly, running the Tester class should produce this exact output:
Dogs have 4 legs.
Cats have 4 legs.
Birds have 2 legs.
Birds have 2 wings.
Fish can breathe under water.
Foxes have 4 legs.
Attempting things we shouldn't...
Dogs don't have wings!
Dogs can't breathe under water!
Cats don't have wings!
Cats can't breathe under water!
Birds can't breathe under water!
Fish don't have legs!
Fish don't have wings!
Foxes don't have wings!
Foxes can't breathe under water!
Dog goes woof
Cat goes meow
Bird goes tweet
Fish goes blub
What does the fox say? Ring-ding-ding-ding-dingeringeding!
Step by step
Solved in 2 steps with 1 images