Читайте также:
|
|
Полиморфизм – это свойство, которое позволяет одно и то же имя использовать для решения двух или более схожих, но технически разных задач.
Целью полиморфизма, применительно к объектно-ориентированному программированию, является использование одного имени для задания общих для класса действий. Выполнение каждого конкретного действия будет определяться типом данных.
Например, для нахождения абсолютной величины числа требуется три различные функции, каждая из которых вычисляет и возвращает абсолютную величину целых, длинных целых и чисел с плавающей точкой, а можно использовать одну общую функцию abs(). Это называется перегрузкой функций.
В более общем смысле, концепцией полиморфизма является идея «один интерфейс, множество методов». Это означает, что можно создать общий интерфейс для группы близких по смыслу действий. Преимуществом полиморфизма является то, что он помогает снижать сложность программ, разрешая использование того же интерфейса для задания единого класса действий.
Полиморфизм может применяться также и к операторам, например, символ + используется для складывания целых, длинных целых, символьных переменных и чисел с плавающей точкой. В этом случае компилятор автоматически определяет, какой тип арифметики требуется. Такой тип полиморфизма называется перегрузкой операторов.
25. Типы и сравнения подпрограмм в Delphi Подпрограмма — именованная логически законченная самостоятельная программная единица, которую можно многократно вызывать для выполнения. Подпрограммы разделяются на процедуры и функции, а также на стандартные и пользовательские. Пользовательские подпрограммы разрабатываются пользователем. Их описание помещается в разделе описания основной программы после описания переменных. Структура подпрограммы аналогична структуре программы. Структура процедуры: Procedure_имя(список формальных параметров:тип); Const Type Var Begin Оператор 1; Оператор 2; …………… Оператор n; End; Само по себе описание подпрограммы никаких вычислений не производит, а формальные параметры не имеют значений. Чтобы воспользоваться подпрограммой, ее необходимо вызвать, задав конкретные (фактические) значения параметров: Имя_процедуры(список фактических параметров) При вызове подпрограммы значения фактических параметров заменяют формальные параметры в описании подпрограммы, и для них выполняется тот процесс, что был описан для формальных параметров. Списки фактических и формальных параметров должны быть согласованы по числу, порядку следования и типу значений. Особенности работы с подпрограммами: 1)Обращение к функции можно использовать как операнд в выражении. С процедурой так поступать нельзя. 2)По умолчанию все параметры подпрограмм рассматриваются как параметры-значения. Они могут изменяться внутри подпрограммы, но обратно в вызывающий блок изменений не передают. Для передачи изменений, вызванных работой подпрограммы, следует использовать параметры-переменные. Для этого перед соответствующим параметром ставят слово var. Однако следует помнить, что параметры-переменные не могут передавать в подпрограмму выражения. 3)Объекты, описанные в подпрограммах, являются локальными Их можно использовать только в данной подпрограмме. 4)Допускается вложенное описание подпрограмм. Использование подпрограмм увеличивает наглядность, а также позволяет избегать многократного описания одинаковых действий. Если подпрограмма должна возвращать только одно значение в вызывающий блок, то ее рациональнее оформить как функцию. В остальных случаях — как процедуру. 27. Типы данных в Delphi Целочисленные типы данных Переменные целочисленных типов данных способны содержать целые значения. Все они принципиально отличаются только двумя параметрами - свойствами значений которые они могут содержать и размером памяти, занимаемым переменными. Третье свойство неявное и на первый взгляд незаметное - скорость работы с данными проистекающее из количества требуемой переменными памяти и внутреннего их формата, однако на этом мы не будем заострять особое внимание. NB! Целочисленные типы данных наиболее примитивные и наиболее быстро и легко обрабатываемые процессором. Всегда, если вам нужно обрабатывать численную информацию, старайтесь хранить ее и обрабатывать в целочисленном виде. Вся масса целочисленных типов разделяется на две части - знаковые и беззнаковые типы данных. Знаковые типы данных позволяют хранить значения со знаком, точнее со знаком "-", т.е. отрицательные значения. Беззнаковые типы данных всегда хранят только значения больше или равно нулю. Общие целочисленные типы Integer Тип данных Integer общий (generic) знаковый тип. Если помните предыдущую лекцию, то там объяснялось что общие типы данных - платформозависимые. Так вот и Integer на разных платформах имеет разный диапазон значений и занимает разный объем памяти, соответствующий одному машинному слову. На 32-ух разрядных системах Integer может содержать содержать значения от -2147483648 до 2147483647. Почему именно такой диапазон? Все очень просто, это минимальное и максимальные значения которые можно выразить (закодировать) 32-мя бинарными разрядами.Далее, когда снова попадется общий тип данных, я буду указывать его параметры именно для 32-ух разрядных систем. Какими они были на старых системах не очень-то и интересно, а какими они будут сами догадаетесь, не маленькие уже. Cardinal Общий беззнаковый тип. Может содержать значения от 0 до 4294967295. Фундаментальные целочисленные типы У прочих встроенных типов данных нет каких-либо особенностей, поэтому ниже я дам просто сводную таблицу в которой будут описаны эти типы данных. Вещественные типы данных Переменные вещественных типов данных, как следует из их названия, могут хранить значения с десятичной запятой. Все вещественные типы делятся на типы с плавающей или фиксированной запятой. NB! Тут следует обратить внимание на некоторые расхождения в терминологии. У нас считается что дробную часть от целой разделяет запятая. У "них" (америкосов) - точка. Соответственно по отношению к вещественным типам данных говорится floating point (плавающая точка) и fixed point (фиксированная точка). В частности в Delphi, для записи вещественных значений в тексте программы, используется именно точка а не запятая. Для вещественных чисел с плавающей точкой данные хранятся в экспоненциальном формате. Т.е. хранятся мантисса и экспонента (не помню уже преподают это в школе или нет, но на всякий случай объясню). Например число 12345.6789 хранится в виде 1.23456789*10^4 (1.23456789 умножить на десять в степени 4). Мантисса это число 1.23456789 а экспонента это 4, то в какую степень возводится 10. Вы спросите: "Что за тавтология!? Опять-же записываем десятичную дробь с помощью десятичной точки. Та же фигня только в профиль". Отвечаю: "А компьютер про десятичную точку на самом деле ничего не знает, он просто хранит у себя 123456789 и 4 (упакованные конечно в бинарную форму, в один блок памяти фиксированного размера). И всегда считается что десятичная точка находится после первой цифры - в нашем случае между 1 и 2". Extended Предоставляет большую точность, однако менее переносим на другие платформы. Нужно быть осторожным и стараться не использовать его для записи в файлы которые могут быть потом использованы на других платформах. Comp Устаревший тип данных. В действительности хранится как 64-ех битное целое число, однако трактуется как вещественное т.к. к нему неприменимы операции которые обычно могут быть выполнены над целыми числами. Например получение следующего или предыдущего значений. Вместо него где только возможно нужно использовать Int64. Currency Фиксированная десятичная точка. В действительности хранится как 64-ех разрядное целое число с четырьмя наименее значимыми цифрами неявно считающимися дробной частью. Используется для выражения денежных величин. Финансовые вычисления с точностью до 4-ех знаков после десятичной точки - общепринятая мировая практика позволяющая снизить ошибки при расчетах. 28. Графическое программирование в Delphi Delphi позволяет программисту разрабатывать программы, которые могут выводить графику: схемы, чертежи, иллюстрации. Программа выводит графику на поверхность объекта (формы или компонента Image). Поверхности объекта соответствует свойство Canvas. Для того чтобы вывести на поверхность объекта графический элемент (прямую линию, окружность, прямоугольник и т. д.), необходимо применить к свойству canvas этого объекта соответствующий метод. Холст.Как было сказано ранее, поверхности, на которую программа может выводить графику, соответствует свойство Canvas. В свою очередь, свойство canvas — это объект типа TCanvas. Методы этого типа обеспечивают вывод графических примитивов (точек, линий, окружностей, прямоугольников и т. д.), а свойства позволяют задать характеристики выводимых графических примитивов: цвет, толщину и стиль линий; цвет и вид заполнения областей; характеристики шрифта при выводе текстовой информации. Карандаш и кисть.Художник в своей работе использует карандаши и кисти. Методы, обеспечивающие вычерчивание на поверхности холста графических примитивов, тоже используют карандаш и кисть. Карандаш применяется для вычерчивания линий и контуров, а кисть — для закрашивания областей, ограниченных контурами. Карандашу и кисти, используемым для вывода графики на холсте, соответствуют свойства Реп (карандаш) и Brush (кисть), которые представляют собой объекты типа треп и TBrush, соответственно. Значения свойств этих объектов определяют вид выводимых графических элементов. Карандаш.Карандаш используется для вычерчивания точек, линий, контуров геометрических фигур: прямоугольников, окружностей, эллипсов, дуг и др. Вид линии, которую оставляет карандаш на поверхности холста, определяют свойства объекта треп. Кисть.Кисть (canvas. Brush) используется методами, обеспечивающими вычерчивание замкнутых областей, например геометрических фигур, для заливки (закрашивания) этих областей. Кисть, как объект, обладает двумя свойствами: 1) Color Цвет закрашивания замкнутой области; 2) Style Стиль (тип) заполнения области. Область внутри контура может быть закрашена или заштрихована. Метод вычерчивания графических примитивов.Любая картинка, чертеж, схема могут рассматриваться как совокупность графических примитивов: точек, линий, окружностей, дуг и др. Таким образом, для того чтобы на экране появилась нужная картинка, программа должна обеспечить вычерчивание (вывод) графических примитивов, составляющих эту картинку. Линия.Вычерчивание прямой линии осуществляет метод LineTo, инструкция вызо- ва которого в общем виде выглядит следующим образом: Компонент.Canvas-LineTo(x,у). Метод LineTo вычерчивает прямую линию от текущей позиции карандаша в точку с координатами, указанными при вызове метода. Начальную точку линии можно задать, переместив карандаш в нужную точку графической поверхности. Сделать это можно при помощи метода MoveTo, указав в качестве параметров координаты нового положения карандаша. Ломаная линия.Метод Polyline вычерчивает ломаную линию. В качестве параметра метод получает массив типа Tpoint. Каждый элемент массива представляет собой запись, поля х и у которой содержат координаты точки перегиба ломаной. Метод Polyline вычерчивает ломаную линию, последовательно соединяя прямыми точки, координаты которых находятся в массиве: первую со второй, вторую с третьей, третью с четвертой и т. д. Окружность и эллипс.Метод Ellipse вычерчивает эллипс или окружность, в зависимости от значений параметров. Инструкция вызова метода в общем виде выглядит следующим образом: Объект.Canvas.Ellipse(xl,yl, х2,у2]. где: 1) объект — имя объекта (компонента), на поверхности которого выполня- ется вычерчивание; 2) xi, yl, х2, у2 — координаты прямоугольника, внутри которого вычерчивается эллипс или, если прямоугольник является квадратом, окружность Дуга.Вычерчивание дуги выполняет метод Arc, инструкция вызова которого в общем виде выглядит следующим образом: Canvas.Arc (xl,yl,x2,y2, хЗ, уЗ,х4,у4) где: 1) xl, yl, х2, у2 — параметры, определяющие эллипс (окружность), частью которого является вычерчиваемая дуга; 2) хЗ, уз — параметры, определяющие начальную точку дуги; 3) х4, у4 — параметры, определяющие конечную точку дуги. Прямоугольник.Прямоугольник вычерчивается методом Bectangie, инструкция вызова которого в общем виде выглядит следующим образом: Объект.Canvas.Rectangle(xl,yl,х2,у2] где: 1) Объект — имя объекта (компонента), на поверхности которого выполняется вычерчивание; 2) xi, yi и к2, у2 — координаты левого верхнего и правого нижнего углов прямоугольника. Многоугольник.Метол polygon вычерчивает многоугольник. В качестве параметра метод получает массив типа TPoint. Каждый элемент массива представляет собой запись, поля (х,у) которой содержат координаты одной вершины многоугольника. Метод Polygon вычерчивает многоугольник, последовательно соединяя прямыми линиями точки, координаты которых находятся в массиве; первую со второй, вторую с третьей, третью с четвертой и т. д. Затем соединяются последняя и первая точки. Точка.Поверхности, на которую программа может осуществлять вывод графики, соответствует объект canvas. Свойство Pixels, представляющее собой двумерный массив типа TCoior, содержит информацию о цвете каждой точки графической поверхности. 29. Основы и основные службы интернета Служба телеконференций (Usenet). Служба телеконференций похожа на циркулярную рассылку электронной почты, в ходе которой одно сообщение отправляется не одному корреспонденту, а большой группе (такие группы называются телеконференциями или группами новостей). Обычное сообщение электронной почты пересылается по узкой цепочке серверов от отправителя к получателю. При этом не предполагается его хранение на промежуточных серверах. Сообщения, направленные на сервер группы новостей, отправляются с него на все серверы, с которыми он связан, если на них данного сообщения еще нет. Далее процесс повторяется. Характер распространения каждого отдельного сообщения напоминает лесной пожар. На каждом из серверов поступившее сообщение хранится ограниченное (обычно неделю), и все желающие могут в течение этого времени с ним ознакомиться. Распространяясь во все стороны, менее чем за сутки сообщения охватывают весь земной шар. Далее распространение затухает, поскольку на сервер, который уже имеет данное сообщение, повторная передача производиться не может. Служба World Wide Web (WWW). Безусловно, это самая популярная служба современного Интернета. Ее нередко отождествляют с Интернетом, хотя на самом деле это лишь одна из его многочисленных служб. World Wide Web — это единое информационное пространство, состоящее из сотен, миллионов взаимосвязанных электронных документов, хранящихся на Web-cepверах. Отдельные документы, составляющие пространство Web, называют Web-страницами. Группы, тематически объединенных Web-страниц называют Web-узлами (жаргонный термин — Web-сайт или просто сайт). Один физический Web-сервер может содержать достаточно много Web-узлов, каждому из которых, как правило, отводится отдельный каталог на жестком диске сервера. От обычных текстовых документов Web-страницы отличаются тем, что они оформлены без привязки к конкретному носителю. Например, оформление документа напечатанного на бумаге, привязано к параметрам печатного листа, который имеет определенную ширину, высоту и размеры полей. Электронные Web-документы предназначены для просмотра на экране компьютера, причем заранее не известно на каком. Неизвестны ни размеры экрана, ни параметры цветового и графического разрешения, неизвестна даже операционная система, с которой работает компьютер клиента. Поэтому Web-документы не могут иметь «жесткого» форматирования. Оформление выполняется непосредственно во время их воспроизведения на компьютере клиента и происходит оно в соответствии с настройками программы, выполняющей просмотр. Программы для просмотра Web-страниц называют броузерами. В литературе также можно встретить «неустоявшиеся» термины браузер или обозреватель. Во всех случаях речь идет о некотором средстве просмотра Web-документов. Служба имен доменов (DNS). Когда мы говорили о протоколах Интернета, то сказали, что адрес любого компьютера или любой локальной сети в Интернете может быть выражен четырьмя байтами, например так: 195.28.132.97 А только что мы заявили, что каждый компьютер имеет уникальное доменное имя, например такое: www.abcdef.com Нет ли здесь противоречия? Противоречия здесь нет, поскольку это просто две разных формы записи адреса одного и того же сетевого компьютера. Человеку неудобно работать с числовым представлением IP-адреса, зато доменное имя запоминается легко, особенно, если учесть, что, как правило, это имя имеет содержание. Например, Web-сервер компании Microsoft имеет имя www.microsoft.com, а Web-сервер компании «Космос ТВ» имеет имя www.kosmostv.ru (суффикс.ru в конце имени говорит о том, что сервер компании принадлежит российскому сектору Интернета). Нетрудно «реконструировать» и имена для других компаний. Служба передачи файлов (FTP). Прием и передача файлов составляют значительный процент от прочих Интернет-услуг. Необходимость в передаче файлов возникает, например, при приеме файлов программ, при пересылке крупных документов (например, книг), а также при передаче архивных файлов, в которых запакованы большие объемы информации. IRC. Служба IRC {Internet Relay Chat) предназначена для прямого общения нескольких человек в режиме реального времени. Иногда службу IRC называют чат-конференциями или просто чатом. В отличие от системы телеконференций, в которой общение между участниками обсуждения темы открыто всему миру, в системе IRC общение происходит только в пределах одного капала, в работе которого принимают участие обычно лишь несколько человек. Каждый пользователь может создать собственный канал и пригласить в него участников «беседы» или присоединиться к одному из открытых в данный момент каналов. 30. Динамическая библиотека Динамические библиотеки Динамические библиотеки (DLL, Dynamic Link Library) играют важную роль в функционировании ОС Windows и прикладных программ. Они представляют собой файлы с откомпилированным исполняемым кодом, который используется приложениями и другими DLL. Реализация многих функций ОС вынесена в динамические библиотеки, которые используются по мере необходимости, обеспечивая тем самым экономию адресного пространства. DLL загружается в память только тогда, когда к ней обращается какой-либо процесс. По существу динамические библиотеки отличаются от исполняемых файлов только одним, они не могут быть запущены самостоятельно. Для того чтобы динамическая библиотека начала работать, необходимо, чтобы ее вызвала уже запущенная программа или работающая DLL. Обычно в динамические библиотеки выносятся группы функций, которые применяются для решения сходных задач. Кроме этого, в них можно хранить и использовать разнообразные ресурсы — от строк локализации до форм. Динамическая библиотека может использоваться несколькими приложениями, при этом не обязательно, чтобы все они были созданы при помощи одного языка программирования. Разновидностью динамических библиотек являются пакеты Delphi, предназначенные для хранения кода компонентов для среды разработки и приложений. Применение динамических библиотек позволяет добиться ряда преимуществ:
Среда разработки состоит элементов, которые всегда присутствуют на экране, а также утилит, которые могут быть вызваны из меню или при работе с компонентами. Основные составные части среды программирования Delphi включают: – Главное меню (меню команд)для осуществления функций управления при разработке программ – Файл, Правка, Поиск, Вид, Проект, Запуск, Компонент, База данных, Инструменты, Справка. – Панели инструментов– меню команд быстрого доступа к командам, содержащее набор кнопок, функции которых эквивалентны наиболее часто употребляемым командам Главного меню. – Палитра компонентов– содержит пиктограммы, которые представляют компоненты VCL (Visual Component Library – библиотека визуальных компонентов), которые можно включить в приложение. Библиотека компонентов – это коллекция компонентов, которую можно использовать при построении интерфейса, а также логической части приложения. Палитра компонентов группирует компоненты в соответствии с выполняемыми функциями и отображает каждую группу на отдельной странице. Для выбора компонента надо щелкнуть по его пиктограмме на странице палитры, а затем щелкнуть внутри окна формы, чтобы поместить экземпляр компонента на форму. Основная Палитра компонентов Delphi имеет двенадцать страниц. Страница Standard. Большинство компонентов на этой странице являются аналогами интерфейсных элементов самой Windows: меню, кнопки, полосы прокрутки, списки. Страница Additional. Эта страница содержит различные дополнительные интерфейсные элементы: графические кнопки (SpeedButton); компонент, предназначенный для отображения данных в виде таблицы (StringGrid); компоненты, главное назначение которых отображение графической информации – компонент Image загружает и отображает растровые изображения; компонент Chart предназначен для создания профессионально оформленных диаграмм. Главное окно управляет тремя связанными с ним окнами: – проектировщика форм; – инспектора объектов; – редактора кода. Окно проектировщика форм представляет собой заготовку, макет одного из окон разрабатываемого приложения. Заголовок окна Forml. Форма является основным интерфейсным элементом в Delphi и исполняющий роль контейнера, который содержит другие компоненты, определяющие функциональность приложения. Проектировщик форм позволяет выполнить во время разработки приложения следующие действия: добавить компоненты в форму; модифицировать форму и ее компоненты; связать обработчики событий компонента с программой на Object Pascal, содержащейся в редакторе кода. Инспектор объектов (Object Inspector). Инспектор объектов позволяет устанавливать свойства объектов и назначать методы обработчики событий во время разработки программы. Свойства — это элементы данных, которые принадлежат объекту и описывают его. Информация в Инспекторе объектов меняется в зависимости от объекта, выбранного на форме. Инспектор объектов состоит из двух страниц: Properties – это список свойств, Events – список событий. Можно использовать закладки вверху Инспектора объектов для переключения между страницами свойств и событий. Страница событий связана с Редактором Кода; если дважды щелкнуть мышкой на правую сторону какого-нибудь пункта в строке Инспектора объектов, то соответствующий данному событию код автоматически запишется в Редактор, сам Редактор кода немедленно получит фокус и можно сразу же добавить код обработчика данного события. Окно редактора кода содержит текст программы на языке Object Pascal, связанный с каждой формой в приложении. Delphi автоматически создает этот программный код, в который можно добавлять операторы, выполняемые при наборе команды меню или щелчке на кнопке. Проводник по коду (Code Explorer) упрощает перемещение по программному коду и управление элементами в модулях. В частности, с помощью этого инструмента можно увидеть все объекты, методы и переменные, объявленные и используемые в любом выбранном модуле. |
Дата добавления: 2015-02-16; просмотров: 86 | Поможем написать вашу работу | Нарушение авторских прав |