diff --git a/w6/Animal.class b/w6/Animal.class new file mode 100644 index 0000000..4807404 Binary files /dev/null and b/w6/Animal.class differ diff --git a/w6/Animal.java b/w6/Animal.java new file mode 100644 index 0000000..b07d6fa --- /dev/null +++ b/w6/Animal.java @@ -0,0 +1,3 @@ +public abstract class Animal { + public abstract void makeSound(); +} \ No newline at end of file diff --git a/w6/AnimalTest.class b/w6/AnimalTest.class new file mode 100644 index 0000000..237980f Binary files /dev/null and b/w6/AnimalTest.class differ diff --git a/w6/AnimalTest.java b/w6/AnimalTest.java new file mode 100644 index 0000000..12aa67e --- /dev/null +++ b/w6/AnimalTest.java @@ -0,0 +1,23 @@ +public class AnimalTest { + public static void main(String[] args) { + Animal[] animals = new Animal[2]; + animals[0] = new Dog(); + animals[1] = new Cat(); + + for (Animal a : animals) { + a.makeSound(); + if (a instanceof Swimmable) { + ((Swimmable) a).swim(); + } + } + + System.out.println("\n--- Testing individual Dog ---"); + Dog dog = new Dog(); + dog.makeSound(); + dog.swim(); + + System.out.println("\n--- Testing individual Cat ---"); + Cat cat = new Cat(); + cat.makeSound(); + } +} \ No newline at end of file diff --git a/w6/Cat.class b/w6/Cat.class new file mode 100644 index 0000000..c43d27c Binary files /dev/null and b/w6/Cat.class differ diff --git a/w6/Cat.java b/w6/Cat.java new file mode 100644 index 0000000..69ea589 --- /dev/null +++ b/w6/Cat.java @@ -0,0 +1,6 @@ +public class Cat extends Animal { + @Override + public void makeSound() { + System.out.println("Cat says: Meow! Meow!"); + } +} \ No newline at end of file diff --git a/w6/Dog.class b/w6/Dog.class new file mode 100644 index 0000000..122ca72 Binary files /dev/null and b/w6/Dog.class differ diff --git a/w6/Dog.java b/w6/Dog.java new file mode 100644 index 0000000..282670f --- /dev/null +++ b/w6/Dog.java @@ -0,0 +1,11 @@ +public class Dog extends Animal implements Swimmable { + @Override + public void makeSound() { + System.out.println("Dog says: Woof! Woof!"); + } + + @Override + public void swim() { + System.out.println("Dog is swimming"); + } +} \ No newline at end of file diff --git a/w6/Swimmable.class b/w6/Swimmable.class new file mode 100644 index 0000000..f4832bb Binary files /dev/null and b/w6/Swimmable.class differ diff --git a/w6/Swimmable.java b/w6/Swimmable.java new file mode 100644 index 0000000..b7a501e --- /dev/null +++ b/w6/Swimmable.java @@ -0,0 +1,3 @@ +public interface Swimmable { + void swim(); +} \ No newline at end of file