An abstract class is a high level representation of something that can be defined in detail. For example, in this video we start out with the idea of a shape. A shape is abstract, because we can have many representations of a shape, for example, a rectangle, triangle, circle and so on. When defining an abstraction, we want to make sure that we can have detailed representations of abstractions. Review the video to find out more on abstract classes.