public override void Accept(ShapeVisitor v) { v.VisitRectangle(this); }
public abstract void Accept(ShapeVisitor v);
public override void Accept(ShapeVisitor v) { v.VisitCircle(this); }