const string AreEqual = "are equal";
const string NotEqual = "not equal";
public static void Main()
var validator = new Validator();
var isEqual = validator.IsWheelNumberEqual(car, suv);
var caption = isEqual ? AreEqual : NotEqual;
Console.WriteLine($"The number of wheels of a Car and Suv are {caption}");
var tricycle = new Tricycle();
isEqual = validator.IsWheelNumberEqual(bike, tricycle);
caption = isEqual ? AreEqual : NotEqual;
Console.WriteLine($"The number of whells of a Bike and Tricycle are {caption}");
public bool IsWheelNumberEqual(Car car, Tricycle tricycle)
return car.GetNumberOfWheels() == tricycle.GetNumberOfWheels();
public bool IsWheelNumberEqual(Car car, Suv suv)
return car.GetNumberOfWheels() == suv.GetNumberOfWheels();
public bool IsWheelNumberEqual(Bike bike, Tricycle tricycle)
return bike.GetNumberOfWheels() == tricycle.GetNumberOfWheels();
public int GetNumberOfWheels() => 4;
public int GetNumberOfWheels() => 3;
public int GetNumberOfWheels() => 2;
public int GetNumberOfWheels() => 4;