Программирование на языке Ruby
Шрифт:
Для этого нужно определить метод
Отметим, что метод
Кстати, если метод
11.1.11. Метод allocate
Редко, но бывает, что нужно создать объект, не вызывая его конструктор (в обход метода
Метод
11.1.12. Модули
Для использования модулей в Ruby есть две основных причины. Первая — облегчить управление пространством имен; если поместить константы и методы в модули, то будет меньше конфликтов имен. Хранящийся таким образом метод (метод модуля) вызывается с указанием имени модуля, то есть без вызывающего объекта. Точно так же вызывается и метод класса. Увидев вызовы вида
Вторая причина более интересна: мы можем использовать модуль как примесь. Примеси — это способ реализации множественного наследования, при котором наследуется только интерфейс.
Мы уже говорили о методах модуля, а как насчет методов экземпляра? Модуль — это не класс, у него не может быть экземпляров, а к методу экземпляра нельзя обратиться, не указав вызывающий объект.
Но оказывается, модуль может иметь методы экземпляра. Они становятся частью класса, который включил модуль директивой
Здесь модуль
А что происходит с методами модуля, если таковые определены? Если вы думаете, что они становятся методами класса, то ошибаетесь. Методы модуля не подмешиваются.
Но если такое поведение желательно, то его можно реализовать с помощью нехитрого трюка. Существует метод
Разные дни войны. Дневник писателя, т.2. 1942-1945 годы
Документальная литература:
публицистика
рейтинг книги
Ипатия
Проза:
историческая проза
рейтинг книги
Система Возвышения. (цикл 1-8) - Николай Раздоров
Система Возвышения
Фантастика:
боевая фантастика
рейтинг книги
Вторая жизнь майора. Цикл
Вторая жизнь майора
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
рейтинг книги
Королева Солнца (сборник)
Фантастика:
фэнтези
рейтинг книги
Кодекс Охотника. Книга XXIV
24. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Младший сын
1. Государи московские
Научно-образовательная:
история
рейтинг книги
Эволюционер из трущоб. Том 3
3. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
рейтинг книги
Мир в подарок. Трилогия
124. В одном томе
Фантастика:
фэнтези
рейтинг книги
Барбаросса
Морской авантюрный роман
Приключения:
исторические приключения
морские приключения
рейтинг книги