public class ExtendedSmiley extends Smiley
{
	//additional attributes
	private String aboveEyes;
	private String belowMouth;
	
	//constructors
	public ExtendedSmiley()
	{
		super();
		aboveEyes = "";
		belowMouth = "";
	}
	
	public ExtendedSmiley(String aboveEyes, char eyes, char nose,
	                      char mouth, String belowMouth)
	{
		super(eyes, nose, mouth);
		this.aboveEyes = aboveEyes;
		this.belowMouth = belowMouth;
    }
    
    //accessor and mutator
    public String getAboveEyes()
    {
    	return aboveEyes;
    }
    
    public String getBelowMouth()
    {
    	return belowMouth;
    }
    
    public void setAboveEyes(String aboveEyes)
    {
    	this.aboveEyes = aboveEyes;
    }
	
	public void setBelowMouth(String belowMouth)
    {
    	this.belowMouth = belowMouth;
    }
    
    public String toString ()
    {
    	return aboveEyes+super.toString()+belowMouth;
    }
    
    public boolean equals(Object obj)
    {
    	//see if obj is create with Extended Smiley
    	if (!(obj instanceof ExtendedSmiley))
    	{
    	   return false;
    	}
    	
    	//casting
    	ExtendedSmiley s = (ExtendedSmiley)obj;   
    	
    	boolean isEqual = (aboveEyes.equals(s.getAboveEyes())&&
    	                   (getEyes() == s.getEyes()) &&
    	                   (getNose() == s.getNose()) &&
    	                   (getMouth() == s.getMouth()) &&
    	                   belowMouth.equals(s.getBelowMouth()));
    	  
    	return isEqual;
    }
}