Creating a Subclass
A subclass shares all properties with the class it inherits from, commonly known as the parent class or superclass.
For example, citizens of NyetHack will need a town square. A town square is a type of Room with special features only town squares will have – like a customized loading message when players enter. To create the TownSquare class, you will subclass Room, since they have common features, and then describe how TownSquare differs from Room.
But before defining a TownSquare class, you first need to make a change to the Room class so that it can be subclassed.
Not every class you write is intended to be part of a hierarchy, and, in fact, classes are closed – meaning they prohibit subclassing – by default. ...