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

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

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

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

Метод!Опт() также опре- делен для строковых объектов, В ) аыа нет необходимости в структуре 50 гцсс, имеющейся в языке С, посколь- ку структура классов языка )аыа допускает определение сложных данных с по- мошьнз простого определения класса, содержащего несколько определенных объектов. П.5.2. Управление последовательностью действий Операторы. В языке)аыа присутствуют обычныс для языка С управляюшиеструктуры т Р, 0ог и ипт1е. В этом языке нет оператора до0о'. Выход из цикла осушестштяется операторами языка С ЬгеаК и солстпце, при этом следует указать метку цикла, из которого нужно выйти: Оцгегсоор: (ог(т=0, т<З, т( (услоаие выхода из цикла) (ьгеаи Оцтегсоор:) ) Определения классов.

Определения классов в языке )ача похоже на определения классов в языке С++ в отношении определения переменных экземпляра (полей) и методов для нового класса, некоторые аспекты взяты из языка Вша!!(аП(; в частности, суперкласс нового класса задается явно, например: с1азз ньиа1цез ех(еооз ОЬ)есс 1 рцЫш ОоцЫе х; У* лерененная экзенлляра *т' рцЫ тс тлс у у* переменная экзенл»яра *! Мекка(цел(з 1 ... ) /* конструктор для неыча1цез *у ) где Иеттча1цез является субклассом (производным классом) суперкласса ОЬ)ес( и состоит из двух полей, х (ОоцЫ е геа)) и у ( т лсерег). В языке )аыа используется большая библиотека предопределенных классов. )ачабо.* — стандартная библиотека ввода-вывода, а)аиа.атчц" — стандартная библиотека апплетов, используемая для выполнения аппп етов) аыа, встроенных в тч еЬ- страницы НТМ! .

Но зарезерннронанное ключанос слово кото осталось( — Ирииеч. науч Рад. 614 Приложение. Обзоры языков Как уже говорилось, лля размещения экземпляров класса (обьсктов) используются С-подобные объявлсния. Так, Иеича1ие5 Муваса[1 создает массив Муба[а (пустой), каждый пз элементов которого имеет тип Ивича1пез. Как н в языках С и С++, используется точечная нотация для ссылок на компоненты объекта мубага: муба[а [17) х и муйа1а [17 Еу.

Кромс того, так жс как и в С++, можно определить метод Меича1цвз(1 для явного присваивания переменным экземпляра (полям) х и у значений при создании экземпляра класса. Конструктору можно передать параметры, например: Веича1чеь1псав1е еи ~лг Ы [ тшмх - гс тьиьу - Ь:) При оснобождении памяти нужно вызывать метод Пла1чге() (который действует подобно деструктору класса языка С++ -иил класса). Так жс как и в языке С++, в )ача можно опрсдслять другис методы в описании класса и затем вызывать их с использованием точечной нотации. В языке ~ача отсутствует явный вызов функции, так как в этом нет необходимости.

Доступ к методу (как в 5уз[еп. опт. рщ лг1 л(зтш лд1) является неявным вызовом функции. Определение проиэнодных классов. Язык) ача имеет такую жс структуру и роизводных классон, как и язык С++. Иеис1аээ является производным классом класса 01бег01азз, если он определен слсдуюгцим образом: с1азз хеис1азз ехгелпз 01вегс1аза С Меис1агэ наслсдуст все псрсмснныс экземпляра (поля) класса 01бегс1азз, а вызов метода класса меис!азз (например, мвис1 азз. езпсс1олх) передается 01 ьегс1 азз.

Пюссх олх, если метод Ецлс11олХ не определен в классе Меи01а зз. Управление доступом. Псрсмепныс экземпляра в языкс )ача могут быть открытыми (рпь1хс), закрытыми (рг~ча[е) и защищенными (рго[есгеб). Открытыс имена доступны отовсюду, закрытыс имена доступны только внутри определения класса, а защищенные имена поступим в производных классах данного класса. Если нс используется ни один из приведенных атрибутов имен, полагают, что управление доступом является дружвственныуи, то есть имена являются доступными лля любого определения класса внутри пакета, к которому принадлежит данный класс, но больше ниоткуда (некая форма полуоткрытого доступа). Переменные в определении класса обычно являются переменными экземпляра — это означает, что онн присутствуют в любом экземпляре объекта этого класса.

Для описания переменной, общей для всех экземпляров данного класса, используется атрибут э[а [х с. Например, если бы вы создавали структуру связанного списка, каждый связанный список был бы классом [~лХеЬОЬдесг. В нем было бы объявление эЫЫ с Егее[1зстуре ЕгееЬ1зц которое было бы общим для всех экземпляров класса [1пХеЬОЬ1есг, чтобы управлять размещением новых элементов списка из общего списка. Методы, общие для П.В. ЗА)(А 61 5 всех экземпляров класса и имеющие поступ только к переменным класса, также могут быть объявлены с атрибутом агат> с.

Виртуальные метолы языка С+э в я<>ыке) ача называются абстрактными и определяются так жс, как и виртуальные методы языка Са ы а(>а(гас( чо>С нетьосяаве() !* не>од с пустяк телок */ Потоки. Через потоки )ача позволяет реализовать некоторый уровень многопроцессорной обработки. Например, браузер Но() ача параллслыю с браузером, отображающим НТМБ-файлы пользователя, запускает программу сборки мусора. Это позволяет избежать остановки отображения файлов на время ожидания завершения процесса сборки мусора. Также и метод лля отображения т рафики может быть отдельным потоком по отношению к метолу отображения текста, позволяя реализовать более быструю перелачу полезной информации. Потоки запускак>тся команлой пех 1Пгеа<)(обьек< ).

Лтрпбут ьупс)воп> ае<) (ьупс(>гоп1 ге<) чо(<) аьагтВог(() ) в опрслслспнях нескольких мст<>лов запрещает олновременпое выполнение двух (и более) таких методов, тем самым предотвращая туп иковыс ситуации, например одно времен н ь> й доступ к совместно используем ы и данным. Стандартные функции Язык )ача был создан для облегчения создания тчеЬ-страниц. Поэтому он включает в себя библиотеку классов ЛЬэггасг Ж(п<(оьч Тоо()<1< (Л'чт<Т) для построения пользовательских интерфейсов. В ней предусмотрены средства для создания фреймов, отображения их на экране, возможности добавления меню, полос прокрутки и текста.

Следующие методы дают только небольшое представление о некоторых из имеющихся функциональных возможностей, сама же библиотека классов настолько огромна, что нет возможности полностьк> описать ес в ланной книге. Библиотека Лчт<Т создает иерархию классов. На верхнем уровне находятся графика, компоненты (кнопки, контейнеры — например, фреймы, — текстовые области) и границы. Для созлання сложных отображаемых структур используются различные производные классы, Обьскт ч)> пйох (окно) не имеет ни границ, ни полосы меню. Он может генерировать события х>п<)охОреп<( или И>пбохС!оке<), которые могут использоваться для создания экземпляра окна.

Фреймы являклся окнами с заголовком и границей, для которых определено больше событий, чем для простого окна. Метал з)>ох() отображает на экране фрейм (субкласс окна). Конструктор т га<пе(" як я фрейма" ) создает новытт фрейм с указанным именем. Метод ьеьз)ге()(, й) устанавливает размер фрсйма )( х и пнксслов. Метод ИепоВаг() созласт во фрейме строку мспю. Метод((спи(тейт("икя") создает элемент меню с указанным имепслт. Метод Вот<оп("икя" ) создает кнопку с указанным именем. Метод а<(<)(обьект) добавляет указанный объект (например, меню или кнопку) во фрейм.

Метод <(гахзтг1пй("текст", Х. у) помещает указанный текст вофрейм в точке с координатами (Х, У) в пикселах. 616 Приложение. Обзоры языков П.6. ОЗР Пример с пояснениями В примере, приведенном в листинге П.З, снова происходит суммирование элементов массива.

В данном случае мы задаем функции прямо в сеансе ЫБР. Хотя используемый нами Е15Р имеет функцию (1оаб "иия файла"), которзя считывает определения функций языка Е15Р из файла. Символ > обозначает приглашение Е!5Р вводить команды. Листинг П.8. Сумма элементов числового вектора на языке (38Р 1 11тзр 2 > Сохранение значений в виде списка сиивопов 3 >(Оегтпе (5никехг Ч) 4 (СОПО ((ПО11 Ч) (РГОдн (рт П( "5»жти ) О)) 5 (Г (+ (5нжиехс (ссг И ) (саг и)) ) )) б 50МЬЕХГ 7 >, Создание вектора из введенных значений 8 (Летно Сес1прн((Г с) 9 (сопс ((ес с О) пт1) 10 ( Г (согв (геап О (Се(1прнв Г (- с 1)))))) 11 СЕП ИРО Г 12 >(Оегсп Оо1(.() 13 (ргойп 14 (зевс тпгт)е (орел '"1)зр пава")) 15 (ве(д аггау (Се(!прн( тп(з1е (геас тпгз1е))) 16 (ргтпь аггау) 17 (ргтпв (5нвкехт аггау)))) 18 001 Г 19 >(0011) 20 21 (1 2 3 4) 22 "5нж " 23 10 24 1О Строка б Вызов интерпретатора Е15Р.

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

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

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