CMSC 202 Fall 2007 Project 4 Design Questions Copy this file to your directory and edit it to answer the questions below. These questions are worth 10% of the project grade. Be sure to submit your answers before the project design due date listed in the project description. 1. Because the Critter class is an abstract class, it is not possible to instantiate Critter objects. The code Critter critter = new Critter( .... ); will cause a compiler error. Since that is true, why is it necessary for the Critter class to define and implement constructors? How are they used? Can they be removed? 2. Suppose that the day before the project is due, we decide to add a Bird class to the project. The Bird is a new kind of Critter that behaves according to the following model: a. The Bird moves by "flying" 3 cells in a random direction. If the cell is empty, the Bird moves there. If the cell contains a DoodleBug, the Bird eats the DoodleBug and moves to that cell. Otherwise the Bird remains where it is. b. If the Bird survives for 5 steps, it breeds. c. If a Bird does not eat a DoodleBug for 10 turns it starves to death Other than implementing the Bird class, what changes would have to be made to your code to add this new Critter?