Программирование на языке Ruby
Шрифт:
Следует еще сказать, что метод класса можно сделать закрытым, воспользовавшись методом
11.1.5. Наследование суперклассу
Можно унаследовать класс, воспользовавшись символом
Это объявление говорит, что класс
Ясно, что цель наследования — расширить или специализировать функциональность. Мы хотим получить из общего нечто более специфическое.
Попутно отметим, что во многих языках, например в C++, допускается множественное наследование (МН). В Ruby, как и в Java, и в некоторых других языках, множественного наследования нет, но наличие классов-примесей компенсирует его отсутствие (см. раздел 11.1.12).
Рассмотрим несколько более реалистичный пример. У нас есть класс
Определим класс
А класс
Посмотрим внимательно, что здесь сделано. Что за
Не всегда необходимо использовать слово
Если говорить об истинном смысле наследования, то оно, безусловно, описывает отношение «является». Студент является человеком, как и следовало ожидать. Сделаем еще три замечания:
• Каждый атрибут (и метод) родительского класса отражается в его потомках. Если в классе
• Потомок может иметь дополнительные атрибуты и методы, мы это только что видели. Поэтому создание подкласса часто еще называют расширением суперкласса.
• Потомок может переопределять любые атрибуты и методы своего родителя.
Последнее замечание подводит нас к вопросу о том, как разрешается вызов метода. Откуда я знаю, вызывается ли метод конкретного класса или его суперкласса?
Краткий ответ таков: не знаю и не интересуюсь. Если вызывается некий метод от имени объекта класса
А что если мы хотим вызвать метод суперкласса, но не из соответствующего метода подкласса? Можно сначала создать в подклассе синоним:
Новик
2. Помещик
Фантастика:
альтернативная история
рейтинг книги
Лекарь Империи 2
2. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
рейтинг книги
Содержанка. Книга 2
6. Порочная власть
Любовные романы:
современные любовные романы
рейтинг книги
Кодекс Охотника. Книга XXV
25. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Звезданутые
Фантастика:
космическая фантастика
попаданцы
рейтинг книги
Петля, Кадетский Корпус. Книга четвертая
4. Петля
Фантастика:
боевая фантастика
попаданцы
аниме
рейтинг книги
Мусорщик
3. Наемник
Фантастика:
боевая фантастика
космическая фантастика
рейтинг книги