Transport 3. solution1 State pattern

Fare has sub classes of Adult, Youth, Kids.
getBasicFare is determined by payment type and bus type.