
Abstract Classes : Design Patterns in TypeScript
Design Patterns In TypeScript (book)
https://www.amazon.com/dp/B0948BCH24 : ASIN B0948BCH24
https://www.amazon.com/dp/B094716FD6 : ASIN B094716FD6
Documentation : https://sbcode.net/typescript/abstract_classes/
You can extend classes with Abstract classes. Consider an abstract class as a base class. It is a class that may have methods and properties that are common, but another class can be created which extends from this base class and overrides any existing methods or can add additional methods and properties specific for itself.
It is different than an interface in the way that is not indicating rules that the class must follow, but the class that is extending will already have its own copies of the base classes properties and methods once any new object is instantiated using it.