Наследование это механизм взаимодействия классов, заключающийся в создании дочерних классов, расширяющих поведение родительских классов.
Наследование помогает избежать дублирования кода в случае, если нам нужно создать объект на основе уже существующего. В этом случае говорится, что новый объект (дочерний) унаследовал свойства уже существующего (родительского). Если атрибуты или поведение существующего объекта нужно частично изменить, то их можно просто переопределить. Во многих языках программирования, для определения наследуемого класса используется ключевое слово extends.
class Manager extends Class Person{ }
Обычно дочерние классы создаются на основе одного родительского класса. Однако, некоторые языки программирования, например C++, поддерживают множественное наследование. При множественном наследовании, дочерние классы создаются на основе нескольких родительских. Стоит также отметить, что даже те языки программирования, которые не поддерживают множественное наследование, например, PHP и Java, имеют механизмы имитации множественного наследования, такие как типажи и интерфейсы.
Дла запрета наследования классов используется ключевое слово final. Для этого необходимо пометить все нужные методы или весь класс ключевым словом final.
final class Mysql{} final public function connect(){}