
Об'єктно-орієнтоване програмування в Ruby
Класи, модулі, успадкування, міксини, attr_accessor, self, базове метапрограмування
1Як визначити клас у Ruby?
Як визначити клас у Ruby?
Відповідь
У Ruby клас визначається за допомогою ключового слова class, після якого йде ім'я класу (за конвенцією в CamelCase), і завершується словом end. Метод initialize є конструктором і автоматично викликається під час створення нового екземпляра за допомогою Class.new. Змінні екземпляра (з префіксом @) зберігають стан кожного об'єкта.
2Яка роль методу initialize у Ruby?
Яка роль методу initialize у Ruby?
Відповідь
Метод initialize є constructor у Ruby. Він автоматично викликається, коли новий об'єкт створюється через Class.new. Він дозволяє ініціалізувати змінні екземпляра та налаштувати початковий стан об'єкта. На відміну від інших мов, constructor не має назви класу, а завжди називається initialize.
3Яка різниця між attr_reader, attr_writer та attr_accessor?
Яка різниця між attr_reader, attr_writer та attr_accessor?
Відповідь
Ці три методи класу автоматично генерують аксесори. attr_reader створює лише getter (читання), attr_writer створює лише setter (запис), а attr_accessor створює обидва одразу. Це дозволяє уникнути ручного написання повторюваних методів getter/setter, роблячи код стислішим і читабельнішим.
Як працює успадкування класів у Ruby?
Яка різниця між module та класом у Ruby?
+17 питань зі співбесід
Інші теми співбесід Ruby on Rails
Основи Ruby
Основи Rails
Routing & Controllers
Основи ActiveRecord
Views та шаблони ERB
Асоціації ActiveRecord
Розширені запити ActiveRecord
Форми Rails
Автентифікація та авторизація
Сучасний Asset Pipeline та frontend
Режим API Rails
Тестування з RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Стратегії кешування
Розширені міграції
Rails Engines та модульні застосунки
Оптимізація продуктивності
Патерни проєктування Rails
Метапрограмування в Ruby
Безпека Rails
GraphQL із Rails
Розгортання та Продакшн
Monitoring & Logging
Стратегії оновлення Rails
Опануй Ruby on Rails для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно