Procedure TForm1.Button1Click(Sender: TObject); //заголовок процедуры 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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 с.)