Design patterns·Objects, messages and the principles
the base class does half the job and leaves a method for you to fill in, and you cannot instantiate it on its own.
Abstract class
Also calledabstract base class, ABC
A class that carries real implementation but is incomplete, declaring one or more methods that a subclass must supply. It sits between an interface, which has no implementation and can be implemented many times over, and a concrete class. Reach for it when the shared code is substantial and the variation is small; it buys reuse at the price of a single inheritance slot in most languages, which is the constraint that eventually forces the switch to composition.