Вставка команд ассемблера
Вставляемые команды оформляются в виде:
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, после визуальной работы пользователя либо не визуально, вручную создает и использует объекты, следует прочесть данный раздел.
Дата добавления: 2016-03-22; просмотров: 725;