- понятно: взаимозаменяемость представителей. private наследование - "является чем-то". protected наследование - хуй знает, совсем уж ебата. Все эти концепции лично мной очень плохо воспринимаются (ну public туда-сюда/private уже тяжело).
Но самая дичь начинается за счет смешивания интерфейсов и реализации - когда у нас есть абстрактные классы, но с какими-то кусками имплементации - вот тут сам черт ногу сломит что происходит. А еще сверху насыпьте мне ромбовидное наследование.
Просто проклятая концепция. И тут выходит целая книжка (https://ru.wikipedia.org/wiki/Design_Patterns) которая всецело про то, что избегайте наследование - предпочитайте композицию. Невольно задаешься вопросом - может нахуй это наследование вовсе?
https://www.youtube.com/watch?v=ADqLBc1vFwI
Dog inherits Animal. Cat inherits Animal.
Обсуждают сегодня