Главная » Просмотр файлов » Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)

Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801), страница 183

Файл №1160801 Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)) 183 страницаТ. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801) страница 1832019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Ввод и вывод Функции ввода и вывода обеспечиваются классами Иеабббгеаж, 'жг1Се5Сгеагв и их под- классами. Метод ргзпс можно послатьлюбомуклассудяяраспечаткиегозначения. Метод рсюСИС действует так жс, как рг7 пс, но еще и добавляст символ новой строки в конце вывода. Метод П1е1п; класса г з1е5Сгеаж считывает и выполняет файл. Например, в ре- зультате действия Г11е5сгеаш П 1е[п иия файла читается файл с заданным именем и обрабатывается Япгайса)к, Это позволяет чи- тать и выполнять другие программы во врелгя выполнения основной программы, Метод орепгнобе; класса г 71е5Сгеаж открывает файл. Так, Гз 1е5сгеаш преп:иия файла шббегрежик возвращает дескриптор файладля файла с заданным именем, который открывает- ся только для чтения (если параметр режии задан как 'г') или только для записи (если параметр режии задан как и ).

Метод пехС, примененный к экземплярам класса г11е5Сгеаж, возвращает следу- ющий символ файла. Если файл с дескриптором 7 был открыт с помощью приве- денного выше метода арен: любе;, то Г лекс возвращает следующий символ из б Определения классов Определения классов состоят из четырех компонентов; 1) имени класса; 2) суперкласса данного класса; 3) объявлений переменных, доступных экземплярам класса; 4) методов, используемых экземплярами класса. 666 Приложение. Обзоры языков Подклассы определяются при помощи следующего синтаксиса: иияСуперкяасса яоос1авв вимяиовогоКдасса товваосеуагтаЫ енаиев, переменниезкаемояяра с1аввЧагтаЫ еиаяев, переменниеКяасса роо10тсдтооагтев: садецогу; ю 1 где имяиовогоКласса — это имя нового подкласса; переиенниеЗкзеинд яра — список всех переменных, для которых отводится место в памяти в каждом экземпляре нового объекта и которые, таким образом, формируют структуру полога подкласса; пере- иенниеКдасса — это список переменных, которые совместно используются во всех экземплярах класса, Компонент сагедогу определяется с целью полдержки докумен- тирования класса, чтобы обптие методы можно было сгруппировать вместе; па се- мантику языка этот компонент класса не оказывает никакого влияния, Компонент роо10т одт опащ ее позволяет перечислить переменные, которые будут попользоваться в специфицированных классах системы вие нормальной иерархии наследования.

Определение методов. Методы, которые определяются для экземпляров клас- са, добавляются к определению класса с помощью следующего синтаксиса: .'имянгасса иеоьоовгог. 'ояаце'! метод, соисок операторов, ! метод, список ооераторовт ' метод„ список операторов„ '.' где цваде задает категортпо определяемого метода. Если метод лолжеп создавать экземпляры класса п является частью определения класса, то его синтаксис имеет вид 1иияКяасса с!ада иещоеягог, 'оваце'' Например, в листинге П.14 показано объявление методов для создания экземпляра класса Оага5тоге и залания основных операций для этого класса. Управление памятью Локальная среда ссылок.

Наследование объектов формирует базу для локалыюй среды ссылок. Если метод, переданный объекту, ие найден в пем, то вызывается класс родительского объекта. Лналогттчио в пределах дашюго метода доступны только переменные, заданные в определении класса или локально объявлештые в пем.

Доступ к экземпляру класса, которому был послан метол, осуп1ествлястся с помощью объекта де1 й Чтобы обратиться в методе к родительскому классу, слелует сослаться иа объект Корее, например: оеи дерег оеи в результате чего метод пеи с начала вызывает метод пен в родительском классе и затем возвратит его экземпляр.

Это позволяет модифицировать семантику данного метода в подклассе, а также вызывать родительский метод. Общая среда ссьиок. Все имена классов являются глобальными, то есть известны во всей программе, поэтому объекты этих классов могут быть вызваны из П.13. Рекомендуемая литература 667 любого метола. Объект 5еа11са1х предоставляет глобальный словарь. С помощью метода д ь: рэс: можно инициализировать любой объект, задавая его глобальное илья. Например, 5яв)1тв)Х вг:вх рчм тдггач пеы.20) создает глобальный объект х, который ииициализироваи как массив, состоящий пх 20 элементов, Передача параметров. Все параметры передаются по зцачецито, так как в динамической модели храиеиия данных любой параметр просто копируется в новое место памяти, а потом пропсхолит уборка мусора, в процессе которой освобождается память.

Возврат из метода. С помощью сиитакспса ОПОесС метод возвращает объект. Если символ ие задан, то возвращается объект, содержащий вызваииый метов. Стандартные функции Много предопределенных функций в определениях ттредопрелелеьтиых классов в умалчиваемой среле Зпта!!Га!!с становятся доступными при первоначальном вызове послелиего. Некоторые функции уже были нами описаны. Некоторые другие полшшыс функции представлены ниже. Класс С!тагасьег. Функция СПагасьег ча)ие: ап)пьедег возвратцает символ, представленный целочислепиым колом ап!пьедег. Функция х Отд)'сУв1ые возвращает целочислеипое значение символа х.

Как и в языке С, при вычислсиии выражеиия ($2 с)тдт ьуа1ые) — 150 с)тд)дча)ые) результат будет равен 2 Функции вывода иа печать. Фупкпия ргт пС выволит иа печать зиачепие объекта. Функция рг1пь)ч1 делает то жс самое, ио сщс и добавляет в конец выведеииого значения символ новой строки. Фактически функция ргтпь- посылает сообщение ршпьОп; ыяя Файла объекту зе10 Это позволяет любому классу модифицировать ииформацшо о себе, которую оп печатает: Ргтптоп: вщогирчт вчрег рыптоп.вт00иьрчц "стандартный вывод" ...! голецявльвый вывод для обьеятв этого класса" Системные функции. Объект-словарь 5ле11ьа1х выполняет много системных функций, Вот вского(тыс из иих. Метод ) пдресь печатает внутреннюю информацию о структуре любого объекта, Функция дэ)ГРгтлт)стче (то есть 5де11са1х дэтьРгтлттьтче) позволяет выйти из Втпа!!Га!К. Символ коица файла (часто <С1г! +<О>) также можно вводить с клавиатуры для завершения выполнения программы.

Функция дузсесе содлтапс вызывает выполиеиие команды сопя)ало операционной системой. Например, 5де11са1х дудседп '15' распечатает имена локальных файлов в системах (3)ч(1Х. П.13. Рекомендуемая литература Соответствутощая документация А)ь)51 описывает стандартные определения для языков ЕОВТтьА)ь) 90 [11), С !10! и СОВО1. 191 666 Приложение. Обзоры языков Хорошая сводка возможностей ГОВТВАХ 90 дается в [21]. Книга [49] является хорошим обзором языка С. Ранние этапы развития ЕОВТКАН и СОВОБ описаны в материалах конференции ЛСМ по истории языков программирования, проводившейся в 1978 г.

[117], а развитие языка С рассматривалось на второй такой же конференции, прошедшей в 1993 г. [4]. История Рааса! изложена самим Виртом в [119]. Ясное и понятное описание языка было опубликовано Иенсеном ( [епзеп) и Виртом в [59]; аннотированная версия стандарта содержит несколько хороших советов по использованию языка [70].

Дальнейшие критические замечания о Рааса! можно найти в [116]. Сравнению языков С и Рааса! посвящена статья [40]. На основе Рааса! были разработаны языки системного программирования: параллельный Рааса! [22] и Мог[в!а [118]. Тем не менее в данной области нп тот, ни другой пе смогли выдержать конкуренции с языком С. История и развитие языка Лда описывается в [120]. Книга [20] дает более полное описание программирования па Л<!а, чем это было возможно здесь, тогда как [58] описывает стандарт языка.

Разработка языка С+ч- на основе С описывается в [108]. Подробному описанию С++ посвящено несколько недавно вышедших книг [72, 88 и 109]. История 5п1а!!га!к описана в [63]. Более полное описание стандарта языка 5ща!!1а!]г-80 дано в [44]. Альтернативная разработка объектно-ориентированного языка па примере языка Е11(е! представлена в работе Бертрана Мейера (Вегггапй Меуег) [82]. Язык 118Р, к сожалению, пе имеет стандартного описания. Исходная версия языка дается в легкой для чтения книге Маккарти (МсСагг!1у) [80]. Диалект 5с!1еп1е рассматривается в [1]. Со шлюп 1!БР определен в книге Стила (5 1 се]е) [105], а в [45] вы найдете хорошее введение в Сошшоп 1.15Р.

Обзор полной превратностей истории этого языка приведен в [106]. Спецификация стандартного М1 описана в [83], в то время как книга Ульмана (()!!шап) [115] представляет ясное описание языка, полезное при его изучении. Создание компилятора АТЛЕТ 8гапг!агб М!. (который использовался для разработки примеров в нашей книге) описано в [12]. Интерес к функциональным языкам программирования заметно возрос в конце 70-х гг., после знаменитой лекции Вакуса (Вас[гпз) по случаю получения премии Тьюринга, в которой он критиковал «узкое место» компьютеров с архитектурой фон Неймана, отражающееся в традиционных языках программирования [15]. В качестве альтернативы языку МБ Дэвидом Тернером (1)ачЫ Тпгпег) был предложен язык М!гапда, свойства которого во многом были аналогичны свойствам М1. М1 ганг[а — полностью функциональный язык, в то время как в М1 допускается прнсваиванис.

Начальный этап развития логического программирования описан в [67], а история Рго!ой — в [30]. Использование языка рассматривается в [28 и 107]. 670 Библиография 17. В!еппапп, А., Огеас Иеак ш Сотрыег 5с!енсе: Л Сенс!е1псгос!исс1оп, М1Т Ргеек, СатЪг!88е, МЛ (1990). 18. В!гг1, В., апг! Маг)!егР., 1псгос!исйоп со Гипсс!опа! Ргобгатт1в8, Ргепс!сс-НаП, Епб!еюоос! СП(!е, Х! (1988). 19. ВВЬт, С,, апЦасвЫпб С., Е!от ЕПабгатз, '! ипп8 МасЬ1псе, апс! Еапбнабек ъ!сЬ оп1у Тюо костас!оп Ки!сз, Сотт.

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

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

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