Что такое класс в Ruby?
Класс как объект и описание поведения экземпляров: initialize, состояние, методы и наследование.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
Класс как объект и описание поведения экземпляров: initialize, состояние, методы и наследование.
Читать ответКак ClassName.new передаёт параметры в initialize, чем позиционные аргументы отличаются от ключевых и где расположен splat.
Читать ответКласс может предоставлять методы и пространство имён, но не является прямой заменой модуля, подключаемого через include или extend.
Читать ответКлючевые различия абстрактного класса и интерфейса ООП, наследование и контракт Абстрактный класс представляет собой тип с частичной реализацией Интерфейс задает полный контракт без реализации В абстрактном классе…
Читать ответВ чём init() отличается от new()? new — создаёт экземпляр класса и вызывается первым init — инициализирует уже созданный объект new — статический метод, который возвращает новый экземпляр init — обычный метод,…
Читать ответОбъектно-ориентированное программирование, связи объектов Агрегация — менее тесная связь: составная часть способна существовать самостоятельно Композиция — тесная связь: существование части определяется жизненным…
Читать ответобъектно-ориентированное программирование Интерфейс определяет контракт — набор методов без реализации Абстрактный класс способен хранить состояние и содержать реализованные методы Класс может реализовать несколько…
Читать ответпозднее статическое связывание представляет собой отложенное до компиляции разрешение вызова функции с учётом конкретного статического типа. Его применяют в шаблонах и для оптимизации полиморфизма времени компиляции.
Читать ответоснова прототипного наследования в JS объект, предоставляющий наследуемые свойства и методы помогает повторно использовать код формирует цепочки наследования (prototype chain) экономит память, позволяя экземплярам…
Читать ответшаблон для множественного наследования объединяют свойства и методы нескольких классов позволяют обойти ограничение единственного extends помогают повторно использовать функциональность делают архитектуру более гибкой…
Читать ответВ Go нет классов: для представления данных применяются структуры Поведение инкапсулируется с помощью методов, связанных с типами структур Интерфейсы задают набор методов, которые могут реализовывать типы, обеспечивая…
Читать ответКак устранить конфликт имён методов при использовании нескольких трейтов? Контекст: работа с Rust / трейты Проблема появляется, когда разные трейты содержат методы с одинаковыми именами Для решения при вызове…
Читать ответ