Source: https://cs.gmu.edu/~kdobolyi/cs211/handbook/07-inheritance.pdf