Files
G4G0-1/Semester 1/Programming 1/Java/examples/projects/chapter16/taxi-company-outline/Taxi.java
2024-01-15 20:14:10 +00:00

59 lines
1.3 KiB
Java
Executable File

/**
* A taxi is able to carry a single passenger.
*
* @author David J. Barnes and Michael Kölling
* @version 2016.02.29
*/
public class Taxi extends Vehicle
{
/**
* Constructor for objects of class Taxi
* @param company The taxi company. Must not be null.
* @param location The vehicle's starting point.
* Must not be null.
* @throws NullPointerException If company or location is null.
*/
public Taxi(TaxiCompany company, Location location)
{
super(company, location);
}
/**
* Is the taxi free?
* @return Whether or not this taxi is free.
*/
public boolean isFree()
{
return getTargetLocation() == null;
}
/**
* Receive a pickup location. This becomes the
* target location.
* @param location The pickup location.
*/
public void setPickupLocation(Location location)
{
setTargetLocation(location);
}
/**
* Receive a passenger.
* Set their destination as the target location.
* @param passenger The passenger.
*/
public void pickup(Passenger passenger)
{
setTargetLocation(passenger.getDestination());
}
/**
* Offload the passenger.
*/
public void offloadPassenger()
{
clearTargetLocation();
}
}