Наследование классов - один из существенных атрибутов ООП. Оно позволяет строить новые классы на базе существующих, добавляя в них новые возможности или переопределяя существующие.
Класс (подкласс) может наследовать переменные и методы другого класса (суперкласса), используя ключевое слово extends. Подкласс имеет доступ ко всем открытым переменным и методам (кроме private) родительского класса, как будто они находятся в подклассе. В то же время подкласс может иметь методы с тем же именем, параметрами и возвращаемым значением, что и методы суперкласса. В этом случае подкласс переопределяет методы родительского класса. Это часть механизма ООП, который называется полиморфизмом.