/** * */ package com.github.cbpos1989.examples.inheritance; /** * Class to hold state and behaviour for Animal object * * @author Colm O'Sullivan * */ public abstract class Animal implements Spawnable{ private String name; private String species; private boolean isSleeping; public Animal(){ this("Unknown","Unknown"); } public Animal(String name, String species){ this.name = name; this.species = species; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public boolean isSleeping() { return this.isSleeping; } public void setSleeping(boolean isSleeping) { this.isSleeping = isSleeping; } abstract public void sleep(int hour); public String makeNoise(){ return "I'm a " + this.species + " and my name is " + this.name; } public String move(){ return "Is Moving.."; } @Override public String toString(){ return this.name; } }