Главная » Просмотр файлов » Р.У. Себеста - Основные копцепции языков программирования (2001)

Р.У. Себеста - Основные копцепции языков программирования (2001) (1160794), страница 120

Файл №1160794 Р.У. Себеста - Основные копцепции языков программирования (2001) (Р.У. Себеста - Основные копцепции языков программирования (2001)) 120 страницаР.У. Себеста - Основные копцепции языков программирования (2001) (1160794) страница 1202019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 120)

В языке Брай!а!к нет операторов или операции явного освобождения памяти. Все операции удаления объектов из памяти являются неявными и используют сборку мусора для освобождения памяти. В отличие от гибридных языков, вроде С++ или Ада 95, язык Бща! Иа1й был создан в рамках только одной парадигмы разработки программного обеспечения — объектноориентированной. Кроме того, он ничем не похож на императивные языки.

Его чистота цели реализована в простой, элегантной и единообразной разработке программ. 11.4. Обзор языка Згпо11!о!к 11.4.2. Среде языка Зазай~айс Среда языка Бгпайгае совершенно отличается от сред, использующихся большинством императивных языков. Система языка Бшайзае объединяет в единое целое редактор программ, компилятор, обычные функции оперативной системы и виртуальную машину. Интерфейс этой системы представляет собой оригинальный графический пользовательский интерфейс. Важным аспектом среды языка Бша!йа!к является то, что она написана почти полностью на этом языке, и пользователь может модифицировать ее, подстраивая под собственные нужды.

В силу этого исходные тексты программ системы языка Бшайга!й должны быть доступны пользователю. Повторим, что язык Бглайга!к представляет собой нечто горазло большее. чем просто язык программирования; это также и методология (объектно-ориентированная), и среда программирования. 11.5.

Введение в язык ЗпйаП1аПс В этом разделе вводится подмножество языка Брай!а!к. Тем, обсуждаемых здесь, достаточно, для того чтобы ощутить особенности программирования на этом языке. К наиболее важным свойствам языка, которые здесь не описаны, относятся большие иерархии классов, поддерживаемые системой языка Бшайга!к и составляющие основу большинства программ на этом языке, а также мощная объектно-ориентированная среда, в которой разрабатываются программы. 11.5.1. Выражения Методы в языке Бгларйайс состоят из выражений. Выражение определяет объект, являющийся его значением.

Язык Бшарпае содержит четыре вида выражений: литералы, имена переменных, выражения сообщений и блоки выражений, которые в соответствующем порядке описаны ниже. 11.5.1.3. Лнтералы Наиболее распространенные литералы — числа, строки и ключевые слова. Числа— это литеральные объекты, представляющие числовые значения. Они совершенно отличаются от числовых литералов в обычных императивных языках, действующих наподобие именованных констант, поскольку они связаны с ячейками памяти, содержащими их значения. В языке Бвайга!К числовые литералы — это объекты, характеризующиеся своими протоколами сообщений и результатами, которые они вырабатывают после получения сообщений. Протокол сообщений числовых литералов, как и в случае других объектов.

описывается в определении класса вместе с его наследуемыми определениями классов. В случае целого литерала класс называется 1псеоег; он обеспечивает, помимо всего прочего, методы лля выполнения обычных арифметических операций. С синтаксической точки зрения, строковый литерал представляет собой последовательность символов, разделенных апострофами. С семантической точки зрения, — это объект, способный отвечать на сообщения, получать доступ к отдельным символам, заменять подстроки и выполнять сравнения с другими строками.

462 Глава 11. Поддержка объектно-ориентированного программирования Ключевые слова являются идентификаторами, которые могут быть определены пользователем, и замыкаются двоеточием. Использование ключевых слов рассматривается в подразделе ! 1.5.1.3. 3 1.5.3.2. Переменные Имя в языке Бша1ЫЕ синтаксически похоже на имена в других языках программирования: последовательность букв и/или цифр, начинающаяся с буквы. Переменные в языке 5та)йа)к разделяются на два вида: закрытые (рг!хазе), являющиеся локальными в объекте, и открытые (зйагед).

т.е. видимые вне объекта, в котором они "объявлены". Имена закрытых переменных должны начинаться со строчных букв, а открытых — с прописных. Все переменные в языке Вша!1!айс являются ссылками и могут ссылаться только на объекты или классы. Они лишены типа; любая переменная может указывать на любой объект. Из обсуждаемых здесь переменных только открытые ссылаются на классы.

Все переменные неявно дифференцируются, поэтому, называя имя ссылки в нашем обсуждении. мы часто имеем в виду объект. на который она ссылается. Переменные экземпляров могут быть либо именованными, либо индексированными. Именованные переменные соответствуют указателям на типы в императивном языке, не являющиеся массивами. К индексированным переменным экземпляров можно получить доступ не только по имени, но и через сообщения, параметры которых являются целыми числами. Большинство индексированных переменных используется подобно массивам в других языкм, однако индексирование само по себе осуществляется с помощью передачи сообщения. Целый параметр в сообщении для ссылки на индексированную переменную экземпляра соответствует индексу в ссылке на элемент массива в обычном императивном языке.

$ ).5.1.3. Выражение сообщений Сообщения имеют форму выражений. Они обеспечивают средства связи между объелтами и указывают, какие операции объекта требуется выполнить. Выражения сообщений имеют две части: спецификацию объекта, который должен получить сообщение, и сообщение само по себе. Сообщение само по себе определяет селекторный вход. или метод. в объекте-получателе и, возможно, один или несколько параметров. Параметры, как и другие переменные, являются указателями на другие объекты. Вычисленное сообщение передается указанному объекту-получателю. Методы обсуждаются в разделах !!.5.2 и! 1.5.6.

В оставшейся части главы мы будем называть выражения сообщений просто сообщениями. Ответами на сообщения являются объекты. Сообщения во многом соответствуют вызовам функций в таких языках, как Рааса! и С. Существуют три категории сообщений; унарные, бинарные и ключевые слова. Унарные сообщения — простейший вид сообщений. не имеющих параметров. Они имеют только две части: объект, которому они должны передаваться, и имя метода в объекте- получателе. Первый символ унарного сообщения определяет объект-получатель, последний — метод этого объекта, подлежащий выполнению. Например, сообщение й1гвсдпд1е взп передает лишенное параметров сообщение методу а1п объекта Нгвгйпд1е.

Напомним, что все объекты адресуются указателями, так что объект йзгвсдпд1е в действительности является указателем на объект. Метод азп (возможно) возвращает числовой объект, являющийся значением синуса от значения ззгагйпд(е. ! 1.5. Вввдвиие в язык Бща11!а1(г Бинарные сообщения имеют один параметр, который передается указанному методу указанного объекта-получателя. Среди наиболее распространенных бинарных сообщений есть сообщения лля арифметических операций, такие как 21+2 яцж/собст. В первом сообщении объектом-получателем является число 21, которому передается сообщение +2. Так что сообщение 2 1+ 2 передает объект-параметр 2 методу + объекта 21. Кол этою метода использует объект 2 для создания нового объекта, в данном случае, объекта 2 3. Если система уже содержит объект 2 3, то результатом будет ссылка на него, а не на новый объект.

Может показаться странным рассматривать число 21 как объект, но в языке 5гла11>а>к для чисел естественно быть объектами с определенными для них операциями. Обычные операции для целых объектов определены в классы 1псе>)ег, экземплярами которого они являются. Во втором примере, приведенном выше, сообщение / сосет передается объекту, на который ссылается переменная яож.

Это приводит к тому, что объект, на который указывает переменная соцпс, передается в качестве параметра методу / объекта, на который ссылается переменная яцп>. Выражения пз ключевых слов обеспечивают соответствие фактических параметров сообщения формальным параметрам метода, т.е. ключевые слова в совокупности определяют, какому именно методу направляется сообщение.

Смешение ключевых слов и параметров в сообщениях увеличивает их читабельность. Методы, принимающие сообщения из ключевых слов, являются неименованными. Вместо этого такие методы идентифицируются самими ключевыми словами. Рассмотрим следующий пример: 11тятдггау ас> 1 рос> 5 Это сообщение передает объекты 1 и 5 конкретному методу ас >рос > объекта б1гясдг сау.

ключевые слова аг > рос > идентифицируют формальные параметры метода, которым должны быть переданы обьекты 1 и 5, соответственно. Метод, которому передается это сообщение, содержит ключевые слова сообщения. Как указывалось выше, методы из ключевых слов не имеют имен; вместо этого они идентифицируются своими ключевыми словами.

Эта канкатенация (в данном случае ас >рос>) называется переключателем (зе1ес>ог). Выражения сообщений могут состоять из любого количества комбинаций трех вызовов выражений, как показано ниже: тота1-3*с>1»1яот. Гъгятдггау ат> 1пс>ех — 1 рис> 77 Чтобы определить, как именно они вычисляются, лолжны быть известны приоритеты и ассоциативность операторов выражения. Унарные выражения имеют наивысший приоритет.

за ними идут бинарные выражения, а затем — выражения из ключевых слов. И унарные, и бинарные выражения ассоциируются слева направо. Заметим, что это совершен»о отличается от правил приоритетов, обычно используемых в таких языках, как А>)а и С. 464 Глава 11. Поддержка объектно-ориентированного программирования В выражениях можно использовать скобки, чтобы установить принудительный порядок вычисления операторов. Первое выражение, приведенное выше, содержит скобки только для иллюстрации, а не для того, чтобы изменить нормальный порядок вычислений, который является следующим: (гога1-3)*с)1тувог Это выражение передает 3 методу — объекта гога1.

Значение переменной с)уттвог затем передается методу * объекта, являющегося результатом первой операции. Выражение йэгвсйггау ас: Зпс)ех — 1 рос: 11 передает 1 методу — объекта Зпг)ех. Результат этой операции вместе с 77 затем передается методу ас: рос: объекта йтгасйггау. Сообщения могут быть организованы в виде каскада — т.е. несколько сообшениЯ можно послать одному и тому же объекту без повторения имени объекта-получателя— путем разлеления ~рули параметров-селекторов или методов с помощью точки с запятой.

Сообщения передаются последовательно, в порядке их появления, слева направо. Например, оцгРеп Поше; ирэ сосо: 5006500; с)онпз 'нове эквивалентно следующим сообщениям: оцгРеп Вове. оигРеп цр. оцгРеп сосо: 500е500. оигРеп гзонп. оцгРеп )зове Эта последовательность сообщений рисует линию на экране дисплея (предполагается, что объект оцгреп является экземпляром класса Реп).

Характеристики

Тип файла
DJVU-файл
Размер
9,5 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6390
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее