Ruby → User Guide #18 - Ruby - процедурные объекты
procedure objects, Ruby, ruby lesson, ruby уроки, user guide, процедурные объекты, руководство пользователя
Часто бывает так, что хотелось бы иметь возможность указать ответные действия на неожиданные события. Как выясняется, легче всего это сделать, если мы сможем передать блок кода в качестве аргумента другому методу, что означает, что мы хотим рассматривать код в качестве …
Ruby → User Guide #17 - Ruby - модули
modules, Ruby, ruby lesson, ruby уроки, user guide, модули, руководство пользователя
Модули в Ruby похожи на классы, за исключением того, что:
- Модуль не может иметь экземпляров
- Модуль не может иметь подклассов
- Модуль определяется между операторами module ... end
Действительно... класс модуля некоего модуля является суперклассом класса класса некоего класс. Понятно? Нет? …
Ruby → User Guide #16 - Ruby - Singleton методы
method, Ruby, ruby lesson, ruby уроки, singleton, user guide, руководство пользователя
Поведение экземпляра класса определяется его методом, но бывают случаи, когда мы знаем, что определённый экземпляр должен иметь особое поведение. В большинстве языков, мы должны решить эту проблему определением другого класса, который будет инстанцирован один раз. В Ruby же мы можем …
Ruby → User Guide #15 - Ruby - контроль доступа
access control, Ruby, ruby lesson, ruby уроки, user guide, контроль доступа, руководство пользователя
Недавно, мы говорили, что Ruby не имеет функций, только методы. Однако имеется более, чем один вид методов. В этой главе мы ознакомимся с контролем доступа.
Рассмотрим, что происходит, когда мы определяем метод на верхнем уровне, не внутри определения класса. Мы …
Ruby → User Guide #14 - Ruby - переопределение методов
Ruby, ruby lesson, ruby уроки, user guide, переопределение методов, руководство пользователя
В подклассе, мы можем изменить поведение экземпляров класс переопределив методы суперкласса.
- ruby> class Human
- | def identify
- | print "I'm a person.\n"
- | end
- | def train_toll(age)
- | if age < 12
- | print "Reduced fare.\n";
- | else
- | print …
Ruby → User Guide #13 - Ruby - наследование
Inheritance, Ruby, ruby lesson, ruby уроки, user guide, наследование, руководство пользователя
Наша классификация объектов в каждом дне жизни является на самом деле иерархической. Мы знаем, что все кошки млекопитающие, а все млекопитающие являются животными. Наименьшие классы наследуют характеристики из больших классов, к которым они принадлежат. Если все млекопитающие дышат, то все …
Ruby → User Guide #12 - Ruby - классы
class, Ruby, ruby lesson, ruby уроки, user guide, класс, руководство пользователя
Реальный мир наполнен объектами, и мы можем классифицировать их. Например, очень маленький ребёнок, вероятно, скажет "гав-гав", когда увидит собаку, независимо от породы; мы же на самом деле видим мир в терминах категорий.
В терминологии объектно-ориентированного программирования категория объекта "dog" называется …
Ruby → User Guide #11 - Ruby - методы
methods, Ruby, ruby lesson, ruby уроки, user guide, методы, руководство пользователя
Что является методом? В Объектно-ориентированном программировании мы не оперируем данными непосредственно извне, скорее объект имеет некоторое представление о том, как оперировать ими (когда его хорошо попросят). Вы можете сказать, что мы передаём сообщение в объект, и эти сообщения, как правило, …
Ruby → User Guide #10 - Ruby - Объектно-ориентированное мышление
Ruby, ruby lesson, ruby уроки, user guide, ооп, руководство пользователя
Объектно-ориентированный является очень броской фразой. Называя что-либо объектно-ориентированным, вы можете звучать весьма умно. Ruby позиционирует себя как объектно-ориентированный язык сценариев, но что на самом деле означает "объектно-ориентированный"?
Имеется множество вариантов ответов на этот вопрос, все из которых, вероятно, сводятся к …
Ruby → User Guide #09 - Ruby - итераторы
interators, Ruby, ruby lesson, ruby уроки, user guide, итераторы, руководство пользователя
Итераторы не являются оригинальной концепцией в Ruby. Они являются обычным явлением в объектно-ориентированных языках. Также используются в Lisp, хотя они и не называются итераторами. Однако концепция итераторов является незнакомой для многих, поэтому должна быть объяснена более детально.
Глагол iterate означает …
- Последние комментарии
- AK24 апреля 2025 г. 12:04UPD: Переписал логику воспроизведения через стороннюю библиотеку BASS. Там выбрать можно
- AK1 апреля 2025 г. 11:41Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- Сейчас обсуждают на форуме
- DT14 апреля 2025 г. 15:38Всем привет! На Qt 6.8 MinGW пытаюсь сделать управление подключением WiFi из программы. Пока делаю поддержку Windows, но так же хочу в дальнейшем внедрить и поддержку Linux/MacOS. Для…
- f15 февраля 2025 г. 13:46Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…