Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Объектно-ориентированные языки програмирования

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

2.3.3 ДРУГИЕ ПРОДУКТЫ, ОСНОВАННЫЕ НА СИ

C-talk
C-talk - это запатентованный язык для MS-DOS и Apple Macintosh, созданный
отделом программных продуктов фирмы CNS Inc, специализирующейся на
продуктах диагностики для медицины. Синтаксис языка основан на Си с
дополнительными конструкциями, поддерживающими классы и методы,
наследование и посылку сообщений. Предоставляется набор основных классов
для структур данных типа Buffer, Stream и ByteArray. Он поставляется в виде
пакета, содержащего препроцессор для преобразования файлов на C-talk в
исходные тексты на Си, и среды программирования, называемой C-talk Browser,
основанной на оконном интерфейсе. Существуют средства редактирования файлов
и просмотра классов и методов.
Complete C
Complete Computer Corporation, New York работает над созданием объектно -
ориентированной среды разработки программ, называемой Complete C. Она
состоит из прекомпилятора, генерирующего стандартный Ansi С из объектно-
ориентированного Си, набора инструментов (отладчика, компоновщика,
генератора документов) и библиотеки основных классов. Complete C работает
под MS-DOS, OS/2 и Unix.
2.4. ПРОДУКТЫ, ОСНОВАННЫЕ НА ЛИСПЕ

Объектно-ориентированные расширения Лиспа предназначены в основном для
сообщества исследователей искусственного интеллекта. Некоторые из этих
расширений были первоначально созданы в университетах. Лидерами являются
две самостоятельные версии: New Flavors, разработанный в Symbolics, и
CommonLoops, разработанный в Xerox PARC. Они составили базу для Common Lisp
Object System (CLOS).
Отличительной особенностью некоторых систем, основанных на Лиспе, является
способ управления взаимодействием объектов. В отличие от традиционных
вызовов функций, здесь первый аргумент соответствует объекту-приемнику.
Фактически вызываемая функция зависит от вида объекта, обозначенного этим
первым аргументом, в то время как имя функции эквивалентно имени сообщения.
CommonLoops
Loops - это многопарадигмовая система для обработки знаний и
программирования, разработанная в Xerox PARC. В представлении знаний
используется объектно-ориентированный подход. поддерживающий классы и
наследование. Объектно - ориентированная часть Loops позднее была оформлена
как пакет в составе продукта Common Lisp, более известного как CommonLoops.
Характеристики языка:
частичная интеграция системы типа Common Lisp с классами CommonLoops;
использование синтаксиса обобщенных функций вместо посылки сообщений;
способность определять методы, различающиеся не только по первому аргументу
( так называемые мультиметоды);
поддержка реализации других объектно-ориентированных языков с помощью ядра
метаклассов, набора предопределенных классов, составляющих оставшуюся часть
системы.
Опытная реализация, названная Portable CommonLisp (PCL), распространена для
небольшого сообщества пользователей. Она используется в Hewlett-Packard
Laboratories для реализации другого объектно - ориентированного языка -
CommonObjects [Kempf, Harris, D'Souza and Snyder 1987].
New Flavors
Flavors - это расширение MacLisp/ZetaLisp. Это система посылки сообщений,
используемая в коммерческих целях фирмами Symbolics и TI Explorers. New
Flavors - это производная от Flavors, совместимая с ней, но использующая
синтаксис обобщенных функций.
Common Lisp Object System (CLOS)
В 1986 г. группы с фирм Xerox PARC и Symbolics, а также группа с фирмы
Lucid, начала работу над проектом спецификации для CLOS, представленный на
рассмотрение технической рабочей группе Ansi, X3J13. Эта спецификация
одобрена для вероятного принятия в качестве части развивающегося стандарта
Common Lisp. Цели CLOS: использование набора уровней для независимых друг
от друга действий языка программирования; сделать как можно больше в рамках
первого класса Object System (объект первый класс - это объект, который
можно явно создать и работать с ним); желание избавиться от сложного
поведения для упрощения понятий и их объяснений; сделать спецификацию языка
как можно более точной [DeMichiel and Gabriel 1987]. Основные средства
CLOS:
три слоя языка: интерфейс для объектно-ориентированного программирования,
функциональный интерфейс для Object System, и инструменты, позволяющие
программисту создавать свои собственные объектно-ориентированные языки;
использование обобщенных функций вместо посылки сообщений; при таком
подходе объекты и функции являются анонимными объектами: ни один из них не
является собственностью другого;
поддержка множественного наследования: список старшинства классов
используется для решения потенциальных конфликтов между наследуемой
структурой и поведением; средство комбинации методов для получения значений
обобщенной функции - задание способа комбинации методов, применимых к
набору аргументов (в результате множественного наследования);
гарантия, что обобщенные функции и классы являются объектами первого класса
(т.е. они могут храниться в любом месте, где разрешено хранение обобщенных
объектов).
Delphi Common Lisp
Delphi - это итальянская фирма, считающая себя первой в реализации
стандарта для CLOS. Последний выступает как часть продукта Delphi Common
Lisp (DCL), основанного на расширенной версии Kyoto Common Lisp.
Разработано три расширения CLOS:
поддержка традиционных систем;
поддержка постоянной памяти;
поддержка параллельности.
Allegro Common Lisp
Allegro CL - это реализация Common Lisp, разработанная и выставленная на
рынок фирмой Franz Inc на широком наборе аппаратуры. В настоящее время он
включает объектно-ориентированные расширения для поддержки Flavors и
Portable CommonLoops. Поддержка стандарта CLOS буде реализована как только
он станет доступным.
ExperCommon Lisp
ExperTelligence разрабатывает и выставляет на рынок объектно -
ориентированное расширение ExperLisp для Macintosh. Поддерживает Macintosh
Toolbox и MacApp.

2.5. EIFFEL

Язык
Eiffel - это запатентованный язык, разработанный и продаваемый фирмой
Interactive Software Engineering. Его разработка велась под влиянием
объектно-ориентированных понятий языка Симула, объединенных с синтаксисом
языка Ада и современными методами технологии программирования. Кроме
поддержки классов и наследования, Eiffel вводит ряд новых средств:
утверждения для выражения формальных свойств классов: это могут быть
preconditions, postconditions или invariants;
обобщенные параметры для представления типов в объявлениях классов;
средство rename для поддержки множественного наследования разрешением
конфликтов имен в случае, когда у класса более одного родителя;
средство переопределения в нижестоящих классах, позволяющее осуществлять
динамическое связывание вопреки статической проверки типов;
отложенные программы, реализация которых находится только в нижних классах.
Размещение и освобождение памяти осуществляется системой времени
выполнения, включающей пошаговый сборщик мусора. Есть интерфейс с другими
языками с помощью понятия external, выдающего список каждой внешней
подпрограммы, используемой в программе.
Среда
Система Eiffel состоит из компилятора и набора инструментальных средств.
Они содержат средства автоматической конфигурации, отладки, проверки
утверждения во время работы программы, документирования, оптимизирующий
постпроцессор и библиотеку базовых классов для общих структур данных
(списков, деревьев, стеков, хэш-таблиц). Постпроцессор может генерировать
отдельный пакет на Си, который можно использовать для поставки на системы,
не поддерживающие Eiffel.

2.6. ЯЗЫКИ, ОСНОВАННЫЕ НА ПАСКАЛЕ

2.6.1. ACTOR

Actor - это объектно-ориентированные язык и среда, основанные на Паскале и
работающие под Microsoft Windows. Он соединяет систему управления
динамической памятью и автоматическую сборку мусора. Actor был создан
группой Whitewater Group. Он используется для создания отдельных прикладных
задач для Windows, которые можно скомпоновать с существующими программами
на Microsoft C.

2.6.2. OBJECT PASCAL

Object Pascal - это объектно-ориентированное расширение Паскаля,
разработанное Н. Виртом совместно с командой с фирмы Apple. Классы (типы)
реализованы как расширение паскалевской структуры RECORD. В Object Pascal
они могут содержать как поля данных, так и поля методов. Методы
определяются как процедуры или функции Паскаля, определяемые по имени
класса. Сообщения посылаются с помощью обычных конструкций Паскаля для
определения поля.
Object Pascal использовался для внутренних разработок фирмы Apple.
Библиотека классов Object Pascal составляет основу интегрированной системы
разработки прикладных программ MacApp. Язык свободно распространяется
[Schmucker 1986].

2.7. ЯЗЫКИ, ПОДДЕРЖИВАЮЩИЕ АБСТРАКЦИЮ ДАННЫХ

Раздаются возгласы, что ряд других языков также либо объектно -
ориентированные, либо поддерживают объектно-ориентированные понятия. В этом
разделе рассматриваются два языка, имеющие существенную поддержку
программистов - Modula-2 и Ada, которые сравниваются с вышеприведенными
объектно-ориентированными языками. В таблице С2.4 подведены итоги основных
средств этих языков и основных коммерческих объектно-ориентированных
языков.

2.7.1. ADA

Ada был создан в Министерстве Обороны США для использования во встроенных
компьютерных системах. Его использование обязательно в государственных
контрактах в некоторых областях как в США, так и в Великобритании.
Благодаря этому такие системы являются естественными прикладными задачами
для объектно - риентированных понятий: значительные усилия были затрачены
на доказательство того, что Ада поддерживает ООС.
Новые типы данных (классы) можно задать в языке Ада как пакеты. Пакет
содержит как общую, так и частную информацию. Пользовательский интерфейс
задан
12345След.
скачать работу

Объектно-ориентированные языки програмирования

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ