Определение - это возможность порождать один объект от другого с сохранением всех свойств и методов предка, добавляя при необходимости новые свойства и методы.

Считается самым переоцененным принципом.

Когда наследование только появилось, возник вокруг этого понятия хайп и люди использовали наследование ради наследования, не думая, а просто стараясь переиспользовать методы даже несвязанных объектов.

Его желательно избегать, т.к. образуется очень сильная связь с предком.

Дерево наследование лучше строить "снизу-вверх". Вначале пишутся компоненты нижнего уровня, и уже при понимании как это объединяется строить "дерево" вверх. В таком случае уровень иерархии будет минимальный.