/**
*
*/
package com.github.cbpos1989.examples.inheritance;
import java.util.ArrayList;
import java.util.Calendar;
/**
* App to demonstrate inheritance and polymorphism
*
* @author Colm O'Sullivan
*
*/
public class InheritanceApp {
ArrayList<Animal> animals = new ArrayList<Animal>();
Calendar time = Calendar.getInstance();
public static void main(String[] args) {
//System.out.println("Working");
InheritanceApp ia = new InheritanceApp();
ia.startProgram();
}
private void startProgram() {
Person humanAlpha = new Person("Adam");
Person humanOmega = new Person("Eve");
Snake evilSnake = new Snake("Snakey");
Cat cat = new Cat("Rover");
Dog dog = new Dog("Whiskers");
Duck duck = new Duck("Donald");
animals.add(humanAlpha);
animals.add(humanOmega);
animals.add(evilSnake);
animals.add(dog);
animals.add(cat);
animals.add(duck);
startAction();
}
private boolean isPM(int hour){
if(hour > 11 && hour < 23){
return true;
} else {
return false;
}
}
private void startAction(){
int hour = time.get(Calendar.HOUR_OF_DAY);
int min = time.get(Calendar.MINUTE);
String outputTime = "It is ";
if(isPM(hour)){
outputTime += (hour -12) + ":" + min + " P.M.";
} else {
outputTime += hour + ":" + min + " A.M.";
}
System.out.println(outputTime + "\n");
for(Animal a: animals){
a.spawn();
System.out.println(a.makeNoise());
a.sleep(hour);
if (!a.isSleeping()) {
System.out.println(a.move());
}
System.out.println("");
}
}
}