public abstract void VisitCustomer(PoorCustomer customer);
public override void VisitCustomer(PoorCustomer customer) => Console.WriteLine("Customer {0} can only pay 20$ for {1}", customer.name, GetType().Name);