diff --git a/section9/Animal.java b/section9/Animal.java new file mode 100644 index 0000000..94133a0 --- /dev/null +++ b/section9/Animal.java @@ -0,0 +1,28 @@ + +public abstract class Animal { + private String name; + private double weight; + + public Animal(String name, double weight) { + this.name = name; + this.weight = weight; + } + + public String getName() { + return name; + } + + public double getWeight() { + return weight; + } + + public void setName(String name) { + this.name = name; + } + + public void setWeight(double weight) { + this.weight = weight; + } + + public abstract String makeNoise(); +} diff --git a/section9/AnimalDemo.java b/section9/AnimalDemo.java new file mode 100644 index 0000000..7a27339 --- /dev/null +++ b/section9/AnimalDemo.java @@ -0,0 +1,19 @@ +class AnimalDemo { + public static void main(String[] args) { + Dog myDog = new Dog("Rover", 70); + Cat myCat = new Cat("Bear", 7); + + System.out.println(myDog.move()); + System.out.println(myCat.move()); + + } + + public static void printAnimals(Animal[] animals) { + for(Animal animal : animals) { + System.out.println(animal.getName()); + System.out.println(animal.getWeight()); + System.out.println(animal.makeNoise()); + System.out.println(); + } + } +} diff --git a/section9/Cat.java b/section9/Cat.java new file mode 100644 index 0000000..9fc66b3 --- /dev/null +++ b/section9/Cat.java @@ -0,0 +1,16 @@ + +public class Cat extends Animal implements IMovable { + public Cat(String name, double weight) { + super(name, weight); + } + + @Override + public String makeNoise() { + return "Meow!"; + } + + @Override + public String move() { + return "I'm stalking you, waiting on my dinner!"; + } +} diff --git a/section9/Dog.java b/section9/Dog.java new file mode 100644 index 0000000..5b094c4 --- /dev/null +++ b/section9/Dog.java @@ -0,0 +1,17 @@ + +public class Dog extends Animal implements IMovable { + public Dog(String name, double weight) { + super(name, weight); + }//end ctor + + @Override + public String makeNoise() { + return "Woof!"; + } + + @Override + public String move() { + return "I'm wagging my tail and running!"; + } + +} diff --git a/section9/IMovable.java b/section9/IMovable.java new file mode 100644 index 0000000..d9e53b5 --- /dev/null +++ b/section9/IMovable.java @@ -0,0 +1,4 @@ + +public interface IMovable { + String move(); +}