Как реализовать наследование моделей или полиморфные ассоциации в Ruby on Rails?
STI хранит иерархию моделей в общей таблице, а полиморфная ассоциация связывает запись с объектами разных моделей. Это разные механизмы.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
STI хранит иерархию моделей в общей таблице, а полиморфная ассоциация связывает запись с объектами разных моделей. Это разные механизмы.
Читать ответКласс может предоставлять методы и пространство имён, но не является прямой заменой модуля, подключаемого через include или extend.
Читать ответМножественное наследование: порядок разрешения методов (MRO) применяется в объектно-ориентированном программировании MRO определяет последовательность поиска методов и атрибутов при наличии нескольких родителей…
Читать ответПодходы к переиспользованию методов одного класса в другом Наследование: производный класс получает публичные и защищённые методы родителя, а затем может расширять или переопределять их поведение. Композиция: один…
Читать ответэто объектно-ориентированный механизм, который обеспечивает повторное использование кода производные классы могут наследовать атрибуты и методы базового класса поддерживается множественное наследование — достаточно…
Читать ответТри принципа ООП: инкапсуляция, наследование и полиморфизм ООП — это парадигма, в которой структура программы строится вокруг объектов Инкапсуляция: изоляция данных и обращение к ним через методы для защиты…
Читать ответКак виртуальные таблицы определяют тип объекта в рантайме? Область: ПЗУ, объектно-ориентированное программирование, полиморфизм Основной механизм: виртуальная таблица (vtable) При создании объекта класса-наследника в…
Читать ответВ Kotlin data class предназначен для хранения данных Прямое наследование data class запрещено Наследоваться можно от обычных классов, но не от другого data class Вместо этого применяют composition (композицию)…
Читать ответJava использует иерархию классов Исключения составляют примитивы и исключения JVM; например, примитивные типы классами не являются Когда класс явно не указывает родительский класс, он неявно наследует Object…
Читать ответHTTP-запрос Laravel является наследником Illuminate\Foundation\Http\FormRequest расширяет стандартный Request средствами валидации содержит логику валидации и авторизации делает серверную обработку форм проще…
Читать ответВ Swift для классов не предусмотрено множественное наследование Каждый класс может иметь только один суперкласс Для замены множественного наследования применяются протоколы (protocols) Протоколы задают набор…
Читать ответразные подходы: композиция объектов и иерархия типов встраивание добавляет объект в структуру и использует делегирование наследование расширяет базовый класс и позволяет переопределять его поведение embedding не…
Читать ответ