Abstract classes in C#

abstract class Shape {
    public abstract void Fill(Color color);

    public void Draw() {
        //Draw implementation
    }
}

class SquareShape {
    public override void Fill(Color color) {
        //Fill implementation
    }
}

var shape = new Shape(); // <-error

var square = new Square();
square.Fill(Color.Red);
square.Draw();