import java.util.*; /** * An abstract class to model a Bird that has * a name, a description, a favourite food * an

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
correctanswer
Posts: 43759
Joined: Sat Aug 07, 2021 7:38 am

import java.util.*; /** * An abstract class to model a Bird that has * a name, a description, a favourite food * an

Post by correctanswer »

import java.util.*;

/**
* An abstract class to model a Bird that has
* a name, a description, a favourite food
* and an empty vocabulary.
* @author M250 Module Team
* @version v1.0
*/
public abstract class Bird
{
private String name;
private String description;
private String favouriteFood;
private HashSet<String> vocabulary;

/**
* @param aName the bird's name
* @param aDescription The bird's description
*/
public Bird(String aName, String aDescription)
{
name = aName;
description = aDescription;
vocabulary = new HashSet<>(); //empty set
}

/**
* @return the bird's name
*/
public String getName()
{
return name;
}

/**
* Set the bird's name
* @param name the name to set
*/
public void setName(String name)
{
this.name = name;
}

/**
* Return a description of the bird
* @return the description
*/
public String getDescription()
{
return description;
}

/**
* Set the bird's description
* @param description the description to set
*/
public void setDescription(String description)
{
this.description = description;
}

/**
* Return the bird's favourite food
* @return the favouriteFood
*/
public String getFavouriteFood()
{
return favouriteFood;
}

/**
* Return the bird's vocabulary set
* @return vocabulary
*/
public HashSet<String> getVocabulary()
{
return vocabulary;
}

/**
* Set the bird's favourite food
* @param favouriteFood the favouriteFood to set
*/
public void setFavouriteFood(String favouriteFood)
{
this.favouriteFood = favouriteFood;
}

/**
* Tell whether a phrase is in the bird's vocabulary or not
* @param phrase to search for in vocabulary
* @return boolean true if phrase is in vocabulary and false otherwise
*/
public boolean isInVocabulary(String phrase)
{
return vocabulary.contains(phrase);
}

/**
* String representation of the bird
* @return a String representation of the bird
*/
public String toString()
{
return " A bird named " + getName() + " which has " + getDescription()
+ ", likes to eat " + getFavouriteFood();
}

/**
* Tell if two birds should be considered the same
* @return true if the birds are of the same class and have the same names
*/
public boolean equals(Object o)
{
Bird b = (Bird) o;

if (getClass().equals(b.getClass()))
{
return getName().equals(b.getName());
}

return false;
}
}
Register for solutions, replies, and use board search function. Answer Happy Forum is an archive of questions covering all technical subjects across the Internet.
Post Reply