Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Procedure TForm1.Button1Click(Sender: TObject); //заголовок процедуры
Var e: real; //объявление переменной Begin e:=1;While e/2+1>1 do e:=e/2; //цикл определения погрешности Label1.caption:=FloatToStr(e) end; //вывод погрешности в метку Label1 1.4.9. Оператор присоединения имени ‑ With Оператор используется для сокращения записи при обращении к полям записей, к свойствам и методам объектов и имеет вид: With <список имен записей или объектов через запятую> Do <оператор>; Допускается вложенность операторов With. Запись вида: With A Do... With B Do... With C... эквивалентна записи: With A, B, C Do... В операторе после Do можно не уточнять ссылки для полей, свойств и методов записей и объектов, соответственно, указанных после With. Пример обращения к полям Fam и Gr записи Sotrudnik. Вместо операторов Sotrudnik.Fam:=’Иванов’; Sotrudnik.Gr:=1970; можно записать: With Sotrudnik Do Begin Fam:=’Иванов’; Gr:=1970; End; Вставка команд ассемблера Вставляемые команды оформляются в виде: Asm <строки с командами ассемблера> End; Можно составлять на ассемблере (символьный язык машинных команд компьютера) целые функции и процедуры. Пример функции Add на ассемблере сложения двух чисел: Procedure TForm1.Button1Click(Sender: TObject); //проверка функции Add Function add(X,Y:Integer):Longint;//функция сложения двух чисел Asm //начало вставляемых команд ассемблера Mov EAX,X //значение X записывается в регистр EAX Add EAX,Y //содержимое регистра EAX увеличивается на Y End; //окончание вставляемых команд ассемблера и всей функции Add Begin Label1.Caption:=IntToStr(add(1,2)); End; //проверка функции Add(1,2) Использование ассемблера повышает эффективность работы программ, расширяет их возможности, но усложняет процесс программирования. Вопросы для самопроверки и контроля Вопросы для самопроверки 1. Можно ли досрочно выйти из любого цикла? 2. Может ли счетчик счетного цикла изменяться на число, отличное от единицы? Контрольные вопросы 1. Допускается ли вложенность составных операторов? 2. Разрешается ли передавать управление извне вовнутрь цикла или другой подпрограммы? 3. Можно ли включать команды ассемблера в исходный текст программы? 4. Почему рекомендуется минимизировать число операторов GoTo в программе?
1.5. Объектно‑ориентированное программирование Определение История объектно-ориентированного программирования (ООП) берет свое начало в конце 60‑х годов. Компьютерный центр в Норвегии создал первый объектно‑ориентированный язык программирования (ООЯП), названный Simula, предназначенный для моделирования ситуаций в реальном мире. Разработчики перенесли понятие объекта из реального мира в мир программирования. Основная особенность языка Simula состояла в том, что программа была организована по объектам программирования. Объекты содержат процедуры (называемые методами), данные (поля, свойства), которые определяют поведение объекта и события, на которые объект реагирует.
Объектно‑ориентированное программирование обладает следующими тремя свойствами. Инкапсуляция означает объединение в объекте его свойств, событий, используемых данных и методов их обработки. При копировании (удалении) объект копируется (удаляется) как одно целое. Наследованиеи подклассы. Класс в Delphi - это тип данных (как Integer или Record), а объект ‑ конкретный, существующий в памяти компьютера экземпляр класса (переменная типа Class). Все объекты создаются на основе классов и наследуют все его свойства и методы. Подклассы‑потомки могут создаваться на основе других родительских классов, и они наследуют все свойства и методы родительского класса. Изменения в родительском классе автоматически отслеживаются в его потомках. Полиморфизм. Одноименные методы в разных объектах могут выполнять различные действия, что позволяет заменять одноименные методы из родительского класса на другие в подклассе‑потомке, если родительский метод не подходит для потомка. Delphi является языком, управляемым по событиям. Событие представляет собой некоторое действие, которое активизирует реакцию объекта. В качестве события могут рассматриваться нажатие кнопки мыши, выбор пункта меню или открытие таблицы и другие. Порядок выполнения действий определяется, прежде всего, событиями, возникающими в системе, и реакцией на них объектов. Ниже приведена последовательность выполнения действий: 1. В системе возникает событие (нажатие клавиши, изменение значения поля,...). 2. Определяется связанный с этим событием объект (поле таблицы, кнопка, форма и т.д.).
3. Вызывается соответствующий событию метод объекта, который содержит действия по обработке возникшего события. При традиционном программировании программы состоят из многих строк кодов, которые выполнялись в линейном режиме. Конечно, в них имелись конструкции ветвления и организации циклов, однако порядок выполнения действий определялся кодом программы. При объектно‑ориентированном программировании разработка приложений начинается с моделирования реальных объектов, необходимых для выполнения конкретного задания: таблиц баз данных, экранных форм, полей ввода и др. После создания объектов предоставляется возможность скопировать созданные объекты из одного приложения в другое и тем самым сократить объем работы. Например, если вы создали кнопку, которая предназначена для поиска фамилии покупателя в указанной таблице, вы можете использовать ту же кнопку в другом приложении для выполнения функции поиска. Для этого вам потребуется лишь изменить наименования поля и таблицы, в которых будет осуществляться поиск. Классы, объекты и свойства можно создавать и манипулировать командными базовыми средствами Delphi (эти средства рассматриваются в этом разделе) и визуальными средствами среды разработки Delphi, которые максимально упрощают и ускоряют создание и манипулирование классами, объектами и свойствами, а также сразу наблюдать результаты своих действий при настройке свойств объектов. Объектно‑ориентированное построение Delphi помогает создавать свои собственные приложения шаг за шагом, работая в каждый момент только с одним из объектов. Вы можете сохранить каждый прототип в качестве класса и использовать при создании новых форм. На следующих стадиях разработки приложения вы можете в любой момент вернуться к нужному объекту и изменить или расширить его свойства, не нарушая целостности других объектов. Сопровождение и модификация приложений, написанных на Delphi, осуществляются более эффективно и требуют меньших затрат по сравнению с традиционными линейными программами. Delphi допускает традиционное и объектно‑ориентированное программирование. Пользователь выбирает наиболее подходящий для разрабатываемого конкретного приложения. В данном разделе дается краткое описание командных средств Delphi по созданию и использованию классов и объектов. Одной из важных заслуг интегрированной среды быстрой разработки Delphi является то, что пользователь, не зная детально и не используя эти командные средства (за него это сделает среда Delphi), может визуально создавать и использовать классы и объекты, используя готовый набор базовых классов в виде компонент (п.2), что на порядок упрощает и ускоряет разработку приложения, оставляя все достоинства объектно‑ориентированного программирования. Однако, если пользователь хочет понимать и уверенно ориентироваться в кодах модулей, которые генерирует среда Delphi, после визуальной работы пользователя либо не визуально, вручную создает и использует объекты, следует прочесть данный раздел. Объявление класса и объекта Оператор объявления класса имеет вид: Type <имя класса> = Class [(<имя родительского класса>)] [ Public <поля, методы, свойства и события доступные всем вне класса>]
[ Published <аналогичен Public и изменяемый в инспекторе объекта>] [ Private <поля, методы, свойства и события доступные только в классе>] [ Protected <аналогичен Private и дополнительно доступный потомкам>] [ Automated <аналогичен Public для потомка класса TAutoObject>] End; //окончание объявления класса По умолчанию имя родительского класса TObject (наиболее общий предопределенный класс). Класс наследует поля, свойства, методы и события своих предков и может их изменять или вводить новые. Объявления полей и методов в классе не отличаются от объявлений обычных переменных, процедур или функций. Объект объявляется в разделе переменных оператором вида: <имя объекта>: <имя класса>; Доступ к полям, свойствам и методам объекта реализуется указанием имени объекта и через точку имени поля, свойства или метода. Пример задания значения свойству Caption объекта Button1: Button1.Caption:=’Выход’; //надпись командной кнопки «Выход»
|
|||||||
Последнее изменение этой страницы: 2017-02-08; просмотров: 567; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.101.95 (0.013 с.) |