Забор в Наро-Фоминске

Какая разница между инициализацией и конструктором на базовой модели.https://upload.wikimedia.org/wikipedia/commons/0/04/Chainiydomik.jpg

Когда я расширяю базовую модель (ParentModel), я использую метод initialize для установки любых свойств по умолчанию. Но всякий раз, когда я создаю модель на основе ParentModel, я использую конструктор для запуска любых функциональных возможностей. Я делаю это, потому что это работает, но кто-то на работе спросил меня, почему я использую как инициализацию, так и конструктор, и у меня не было хорошего ответа, кроме того, что он работает. Я мог потратить время на чтение, хотя исходный код, чтобы понять это, но было гораздо проще спросить здесь и получить правильный ответ.