package shapes;

public abstract class Shape {
  protected double x;
  protected double y;
  
  // with no constructor, java has a default one that looks like this:
  // public Shape() {}
  
  public Shape(double _x, double _y) {
    x = _x; y = _y;
  }
  
  // abstract keyword means doesn't need body
  public abstract double area();
  public abstract double perimeter();
  @Override
  public String toString() { return "Shape!"; }

}