Технология объектно-ориентированного программирования. Объекты и их свойства. — КиберПедия 

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Технология объектно-ориентированного программирования. Объекты и их свойства.

2021-06-02 23
Технология объектно-ориентированного программирования. Объекты и их свойства. 0.00 из 5.00 0 оценок
Заказать работу

Системы программирования. Интерпретация и компиляция.

Имеются два основных подхода к реализации языков программирования: компиляция и интерпретация. Компилятор переводит программу на языке программирования в машинный код (последовательность команд и данных) конкретного компьютера, на котором будет выполняться программа.

Исполнение этого кода осуществляется под управлением операционной системы и никак не зависит от компилятора. Интерпретатор же является собственно той системой, которая исполняет программу на языке программирования.

Между этими двумя подходами имеется множество промежуточных вариантов: существуют компиляторы, которые компилируют в интерактивном режиме, во время ввода программы. Существуют интерпретаторы, которые компилируют программу в промежуточный код.

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

В самом языке программирования, вообще говоря, не заложен способ его реализации, однако одни языки почти всегда компилируются, например C++, другие, например Smalltalk, почти всегда интерпретируются, Java компилируется в байт-код и затем интерпретируется.

Сейчас практически любая реализация языка представлена как среда разработки, которая включает:

1) компилятор (или интерпретатор);

2) отладчик — специальную программу, которая облегчает процесс поиска ошибок; пользуясь ею, разработчик может выполнять программу “по шагам”, отслеживать изменение значений переменных в процессе выполнения и др.;

3) встроенный текстовый редактор;

4) специальные средства для просмотра структуры программы, классов, модулей и проч.;

5) библиотеку готовых модулей, классов, напри-Q для создания пользовательского интерфейса (окна, кнопки и т. д.).

В 80-е годы активно прорабатывалась идея визуального программирования, основной смысл которой состоит в том, чтобы процесс “сборки” программы осуществлялся на экране дисплея из программных конструкций — картинок. В результате появились среды разработки 4-го поколения (4GL), в которых разрабатываемый программный продукт строится из готовых крупных блоков при помощи мыши. Примерами таких сред являются: Delphi, Visual Age, Visual Java.

Технология логического программирования. Основные структуры и средства логического программирования (язык ПРОЛОГ).

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

Прологе состоит в определении отношений и в постановке вопросов, касающихся этих отношений. Классический пример — родственные отношения. Тот факт, что Иван является родителем Петра, записывается на Прологе так:

Родитель(иван, петр).

родитель — это имя отношения, иван и петр — аргументы этого отношения. Итак, на Прологе можно определить отношение между двумя и более объектами или унарное отношение, т. е. утверждение относительно одного объекта. Вся система родственных отношений описывается следующей Пролог-программой:

Родитель(мария, иван).

Родитель(василий, иван).

Родитель(иван, клавдия).

Родитель(иван, пульхерия).

Родитель(клавдия, петр).

Эту программу можно ввести в Пролог-систему и задавать вопросы системе:

? — родитель(иван, клавдия).

На этот вопрос система ответит “да”. На вопрос:

? — родитель(иван, петр).

система ответит “нет”.

В предложениях можно использовать переменные. Так, вопрос “Кто является родителем Клавдии?” можно записать так:

? — родителя (Х, клавдия).

На этот вопрос система даст ответ:

Х=иван

Вопросы к системе состоят из одного или более целевых утверждений (целей). Такая последовательность целей, как:

Бабушкаилидедушка(Х, Z) — родитель(Х, Y),

Родитель(Ґ, Z).

Процесс, в результате которого Пролог-система устанавливает, удовлетворяет ли объект запросу, включает в себя логический вывод и исследование различных вариантов. Все это делается автоматически самой Пролог-системой и, как правило, скрыто от пользователя.

Наиболее часто используемой структурой в Прологе являются списки. Список либо пуст, либо состоит из головы и хвоста, который, в свою очередь, также является списком. Как правило, для списков существует специальная нотация и определены операции: определения принадлежности элемента списку, конкатенация, добавление элемента, удаление элемента, удаление подсписка и т. п.

 

5 Глобальная сеть Интернет и ее информационные ресурсы (файловые архивы, “всемирная паутина”, электронная почта, телеконференции).

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

Локальная сеть объединяет компьютеры, установленные в одном помещении (например, школьный компьютерный класс, состоящий из 8—12 компьютеров) или в одном здании (например, в здании школы).

Корпоративная сеть может объединять тысячи и десятки тысяч компьютеров, размещенных в различных странах и городах (например, сеть корпорации Microsoft, MSN).

В каждой такой локальной или корпоративной сети должен быть, по крайней мере, один компьютер, который называется сервером Интернет и имеет постоянное подключение к Интернет с помощью линии связи с высокой пропускной способностью. В качестве таких “магистральных” линий связи обычно используются оптоволоконные или спутниковые линии с пропускной способностью от 1 до 100 Мбит/с.

Таким образом, основу, “каркас” Ийтернет составляют более двадцати миллионов серверов (на начало 1998 г.), постоянно подключенных к сети. К ним, в свою очередь, могут подключаться с помощью локальных сетей или коммутируемых телефонных линий десятки миллионов компьютеров пользователей Интернет.

Каждый компьютер, подключенный к Интернет, имеет свой уникальный 32-битный IP-адрес. В десятичной записи этот адрес состоит их 4 чисел, разделенных точками, каждое из которых лежит в диапазоне от 0 до 255. Например, IP-адрес сервера компании “Демос” записывается как 194.87.12.13.

Компьютеры легко могут найти друг друга по числовому IP-адресу, однако человеку запомнить числовой адрес нелегко, и для удобства была введена Доменная Система Имен (DNS — Domain Name System). Эта система ставит в соответствие числовому IP-адресу уникальное имя сервера. Так, сервер компании “Демос” имеет имя www. demos, ru.

Доменные адреса присваиваются в Центре сетевой информации Интернет (InterNIC) и читаются справа налево. Крайняя правая группа букв обозначает домен верхнего уровня (в данном случае “ru”). Домены верхнего уровня бывают двух типов: географические (двухбуквенные — каждой стране соответствует двухбуквенный код) и административные (трехбуквенные). В данном случае домен географический и “ru” обозначает Россию. Интересно, что давно существующие серверы могут относиться к домену “su” (СССР). Обозначение административного домена позволяет определить профиль организации, владельца сервера Интернет.

В таблице приведены некоторые имена доменов верхнего уровня.

Административные Тип организации Географические Страна
corn Коммерческая са Канада
edu Образовательная de Германия
gov Правительственная США jp Япония
int Международная ru Россия
mil Военная США su бывший СССР
net Компьютерная сеть uk Англия/ Ирландия
org Некоммерческая us США

Глобальная сеть Интернет привлекает пользователей своими информационными ресурсами и сервисами (услугами). Электронная почта (E-mail) Электронная почта является наиболее распространенным сервисом Интернет, т. к. является исторически первым сервисом компьютерных сетей и не требует обязательного наличия высокоскоростных и качественных линий связи. Любой пользователь Интернет может получить свой “почтовый ящик” на одном из серверов, в котором будут накапливаться передаваемые и получаемые электронные письма.

Электронное письмо кроме текста сообщения обязательно содержит электронный адрес получателя письма. Электронный адрес записывается по определенной форме и состоит из двух частей:

имя_пользователя@имя_сервера

Имя_пользователя имеет произвольный характер и задается самим пользователем, имя_сервера жестко связано с выбором пользователем сервера, на котором он разместил почтовый ящик.

К электронному письму может быть приложен файл любого типа, однако не рекомендуется, чтобы размер пересылаемого файла был слишком большим.

Для работы с электронной почтой необходимы специальные почтовые программы. Для любой компьютерной платформы существует большое разнообразие почтовых программ. Почтовые программы вошли в состав последних версий браузеров Microsoft Internet Explorer 5.0 и Netscape Communicator 4.03.

Телеконференции

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

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

Файловые архивы

Большое количество серверов (они называются FTP-серверы) Интернет содержат файловые архивы. Это очень удобно для пользователей, т. к. многие необходимые программы можно получить из Интернет.

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

Программное обеспечение, размещаемое на таких серверах, можно разделить на две большие группы: свободно распространяемое программное обеспечение (freeware) и условно бесплатное программное обеспечение (shareware).

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

· новые недоработанные (бета) версии программных продуктов (это позволяет провести их широкое тестирование);

· программные продукты, являющиеся частью принципиально новых технологий (это позволяет завоевать рынок);

· дополнения к ранее выпущенным программам, исправляющие найденные ошибки или расширяющие возможности;

· устаревшие версии программ;

· драйверы к новым устройствам или улучшенные драйверы к уже существующим. Условно бесплатными обычно бывают:

· программы с ограниченным сроком действия (после истечения указанного срока программа перестает работать, если за нее не произведена оплата);

· программы с ограниченными функциональными возможностями (в случае оплаты пользователю сообщается код, включающий все функции);

· нормально работающие программы, которые размещают вновь образованные фирмы или отдельные программисты в целях рекламы и с предложением произвести добровольную оплату (обычно в небольшом размере).

Для работы с файловыми серверами можно использовать как универсальные браузеры, так и специализированные программы FTP-клиенты (например, CuteFTP).

Для поиска необходимых файлов можно использовать систему серверов Archie. Эти серверы хранят постоянно обновляемую информацию о содержимом файловых серверов.

Всемирная паутина (World Wide Web, WWW, 3 W)

Бурное развитие сети Интернет, которое началось с начала 90-х годов, во многом обусловлено появлением новой технологии WWW. В основу этой технологии положена технология гипертекста, распространенная на все компьютеры, подключенные к сети Интернет.

При использовании технологии гипертекста текст структурируется и в нем выделяются слова-ссылки. При активизации ссылки (например, с помощью мыши) происходит переход на заданный в ссылке фрагмент текста или на другой документ. Так, мы могли бы наш текст преобразовать в гипертекст, выделив слова “технология гипертекста” в первом абзаце и зафиксировав, что при активизации этой ссылки произойдет переход на начало второго абзаца.

Технология WWW позволяет осуществлять переходы не только внутри исходного документа, но и на любой документ, находящийся на данном компьютере и, что самое главное, на любой документ любого компьютера, подключенного в данный момент к Интернету. Документы, реализованные по технологии WWW, называются Web-страницами.

Структурирование документов и создание Web-страниц осуществляется с помощью языка HTML (Hyper Text Markup Language). Последняя версия текстового редактора Word (Word 97) позволяет сохранять документы в формате Web-страниц. Просмотр Web-страниц осуществляется с помощью специальных программ просмотра — браузеров. В настоящее время наиболее распространенными бра-узерами являются Internet Explorer и Netscape Navigator.

Если компьютер подключен к Интернет, то можно загрузить один из браузеров и отправиться в путешествие по Всемирной паутине. Вначале необходимо загрузить Web-страницу с одного из серверов Интернет, затем найти ссылку и активизировать ее. В результате будет загружена Web-страница с другого сервера Интернет, который при этом может находиться в другой части света. В свою очередь можно активизировать ссылку на данной Web-странице, загрузится следующая Web-страница и т. д.

Сеть Интернет растет очень быстрыми темпами, и найти нужную информацию среди десятков миллионов документов становится все сложнее. Для поиска информации используются специальные поисковые серверы, которые содержат точную и постоянно обновляемую информацию о содержимом десятков миллионов Web-страниц.

WHILE х #у DO

“заменить большее из х и у на их разность”

WEND

Здесь символ “#” означает “не равно”. Заменим теперь текст в кавычках на предложения формального языка:

WHILE х #у DO

IF х > у THEN

х: = х — у

ELSE у: = у — х

END IF

WEND

Иерархия операторов в данном фрагменте текста отражает структуру алгоритма. Первый набросок — это один оператор, который содержит другой — подчиненный “оператор” (текст в кавычках). В формальном тексте этот внутренний оператор детализирован.

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

С внедрением в широкую практику разработки программ объектно-ориентированного программирования, впитавшего в себя идеи структурного и модульного программирования, структурное программирование стало фактом истории информатики.

 

Технология объектно-ориентированного программирования. Объекты и их свойства.

Объектно-ориентированное программирование (ООП) — это метод программирования, при использовании которого главными элементами программ являются объекты.

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

В технологии объектно-ориентированного программирования объекты сохраняют свою целостность, все свойства объекта и его поведение описываются внутри самого объекта.

В основе объектно-ориентированного подхода лежат три понятия:

· инкапсуляция: объединение данных с процедурами и функциями в рамках единого целого — объекта;

· наследование: возможность построения иерархии объектов с использованием наследования их характеристик;

· полиморфизм: задание одного имени действию, которое передается вверх и вниз по иерархии объектов, с реализацией этого действия способом, соответствующим каждому объекту в иерархии.

Инкапсуляция. В объектно-ориентированном программировании объект представляет собой запись, которая служит “оболочкой” для соединения связанных между собой данных и процедур. Другими словами, объект обладает определенными свойствами и поведением. Рассмотрим в качестве примера кнопку — типичный объект, присутствующий в интерфейсе большого количества программ. Кнопка обладает определенным поведением: она может быть нажата, после нажатия на кнопку будут происходить определенные события и т. д. Соединение таких свойств и поведения в одном объекте и называется инкапсуляцией.

Наследование. Объекты могут наследовать свойства и поведение от других объектов, которые называются “родительскими объектами”. Это понятие можно хорошо проиллюстрировать опять на примере интерфейсной кнопки. Возьмем в качестве “родительского объекта” самую простую квадратную кнопку серого цвета с надписью “Кнопка”, при нажатий на которую запускается определенная процедура. На основе этой кнопки можно создать множество кнопок, обладающих различными размерами, цветами и надписями. Нажатие на каждую такую кнопку будет вызывать свою особенную процедуру. Таким образом, все это множество кнопок унаследует свои свойства и поведение от “родительского объекта”, простой кнопки.

Полиморфизм — это слово из греческого языка, означающее “много форм”. Перечень интерфейсных кнопок различных типов (простая кнопка, радиокнопка, кнопка-переключатель и т. д.) представляет собой хороший пример полиморфизма. Каждый тип объекта в этом перечне представляет собой различный тип интерфейсной кнопки. Можно описать метод для каждой кнопки, который изобразит этот объект на экране. В терминах объектно-ориентированного программирования можно сказать, что все эти типы кнопок имеют способность изображения самих себя на экране.

Однако способ (процедура), которым каждая кнопка должна изображать себя на экране, является различным для каждого типа кнопки. Простая кнопка рисуется на экране с помощью процедуры “вывод изображения простой кнопки”, радиокнопка рисуется на экране с помощью процедуры “вывод изображения радиокнопки” и т. д.

Таким образом, существует единственное для всего перечня интерфейсных кнопок действие (вывод изображения кнопки на экран), которое реализуется специфическим для каждой кнопки способом. Это и является проявлением полиморфизма.

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

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

Наиболее распространенными системами объектно-ориентированного визуального программирования являются Microsoft Visual Basic и Borland Delphi. Катализатором широкого распространения объектно-ориентированного программирования стала технология World Wide Web. Практически все новейшие разработки для этой системы выполняются с помощью объектно-ориентированных языков (например, языка Java).

Объект — элементарная единица в объектно-ориентированном программировании, заключающая в себе как описывающие объект данные, так и средства обработки этих данных.

Класс — обобщенное описание набора объектов, обладающих некоторыми одинаковыми методами и структурами данных.

Подкласс — более подробное описание, относящееся к какому-либо специализированному подмножеству набора объектов, описанного классом. Иногда подклассы называют также производными или дочерними классами.

Наследование — механизм автоматического включения в состав различных классов, подклассов и объектов одних и тех же методов и структур данных.


Поделиться с друзьями:

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.047 с.