Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.util.ArrayList;
- import java.util.List;
- import javax.sound.sampled.AudioSystem;
- import javax.sound.sampled.Clip;
- public class ZooTester_1Kwandou {
- public static void main(String[] args) {
- List<Animal> zoo = new ArrayList<Animal>();
- //Lion lion = new Lion();
- for(Animal animal : zoo) {
- System.out.println(animal);
- animal.speak();
- }
- /*
- Test out your Animal specific methods by casting several of your animals to their subclass type and then calling that specific method:
- Zebra zellie = (Zebra) listOfAnimals.get(2);
- zellie.gallup();
- */
- }
- }
- class Animal {
- // Instance variables
- private String name;
- public Animal(String name) {
- this.name = name;
- }
- public void speak() {
- // Nothing to see here
- }
- public void speak(String filename) {
- try {
- Clip clip = AudioSystem.getClip();
- clip.open(AudioSystem.getAudioInputStream(new File(filename)));
- clip.start();
- }
- catch (Exception e) { e.printStackTrace(System.out); }
- }
- public String toString() {
- return "Name: " + name;
- }
- }
- class Lion extends Animal {
- // Instance variables
- private int age;
- private String gender;
- public Lion() {
- super("N/A");
- }
- public Lion(String name, int age, String gender) {
- super(name);
- this.age = age;
- this.gender = gender;
- }
- public void speak() {
- super.speak("lion-roar1.wav");
- }
- public void eat() {
- System.out.println(super.toString() + " ate " +
- (int)(Math.random()*25) + " pounds of meat!");
- }
- public String toString() {
- return super.toString() + "\nAge: " + age + "\nGender: " + gender;
- }
- }
- class Rabbit extends Animal {
- // Instance variables
- private int age;
- private String color;
- public Rabbit() {
- super("N/A");
- }
- public Rabbit(String name, int age, String color) {
- super(name);
- this.age = age;
- this.color = color;
- }
- public void speak() {
- }
- public void hop() {
- System.out.println(super.toString() + " hopped " +
- (int)(Math.random()*10) + " times!");
- }
- public String toString() {
- return super.toString() + "\nAge: " + age + "\nColor: " + color;
- }
- }
- class Goat extends Animal {
- // Instance variables
- private int age;
- private int ramStrength;
- public Goat() {
- super("N/A");
- }
- public Goat(String name, int age, int ramStrength) {
- super(name);
- this.age = age;
- this.ramStrength = ramStrength;
- }
- public void speak() {
- }
- public void climb() {
- System.out.println(super.toString() + " scaled up a " +
- (int)(Math.random()*100) + " foot mountain!");
- }
- public String toString() {
- return super.toString() + "\nAge: " + age + "\nRam Strength: " + ramStrength;
- }
- }
- class Penguin extends Animal {
- // Instance variables
- private int age;
- private String breed;
- public Penguin() {
- super("N/A");
- }
- public Penguin(String name, int age, String breed) {
- super(name);
- this.age = age;
- this.breed = breed;
- }
- public void speak() {
- }
- public void dive() {
- System.out.println(super.toString() + " dove " +
- (int)(Math.random()*5) + " times!");
- }
- public String getName() {
- return super.toString();
- }
- public String toString() {
- return super.toString() + "\nAge: " + age + "\nBreed: " + breed;
- }
- }
- class FallingPenguin extends Penguin {
- // Instance variables
- private int age;
- private String breed;
- public FallingPenguin() {
- super();
- }
- public FallingPenguin(String name, int age, String breed) {
- super(name, age, breed);
- }
- public void speak() {
- }
- public void fall() {
- System.out.println(super.getName() + " fell!");
- }
- public String toString() {
- return super.toString() + "\nAge: " + age + "\nBreed: " + breed;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement