Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опорный конспект по программированию (наиболее....doc
Скачиваний:
28
Добавлен:
27.10.2018
Размер:
2.51 Mб
Скачать

Вопросы для самоконтроля

  1. Что представляет собой программа, разработанная под операционную систему Windows?

  2. Приведите примеры элементов управления, располагаемых на экранной форме приложения.

  3. Что понимается под дизайном экранной формы?

  4. Назовите основные этапы разработки приложения в технологии визуального программирования

  5. Что понимается под термином «проект» в визуальной системе программирования?

  6. За счет чего приложение реагирует на действия пользователя?

  7. Какое главное свойство каждого элемента на форме?

  8. Поясните механизм сохранения данных из формы в файл.

    1. Объектно-ориентированное программирование

      1. Понятие объекта и класса

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

Развитием идей структурного и событийного программирования при разработке сложных приложений явился объектно-ориентированный подход (ООП) к программированию, основанный на понятии объект.

Реальные объекты окружающего мира обладают тремя базовыми характеристиками:

  • имеют набор свойств;

  • способны разными методами изменять эти свойства;

  • способны реагировать на события, возникающие как в окружающем мире, так и внутри самого объекта.

В таком виде в языках программирования реализовано понятие объекта как совокупности (рис. 3.17):

  • свойств (структур данных, характерных для этого объекта),

  • методов их обработки (подпрограмм изменения свойств),

  • событий, на которые данный объект может реагировать и которые приводят, как правило, к изменению свойств объекта.

Объекты могут иметь идентичную структуру и отличаться только значениями свойств. Для их описания создается новый тип данных, основанный на единой структуре объекта (по аналогии с тем, как создаются новые типы для структур данных). Он называется классом, а каждый конкретный объект, имеющий структуру этого класса, называется экземпляром класса. Описание нового класса похоже на описание новой структуры данных, к полям (свойствам) которой добавляются методы – подпрограммы (рис. 3.18).

Рис. 3.17 Структура объекта в ООП

Для объявления объекта необходимо объявить соответствующий класс принадлежности. Класс – это не объект, а описание объекта. В объектно-ориентированных языках предусмотрено ключевое слово class, которое используется для определения класса.

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

Рис. 3.18 Понятие класса и экземпляра в ООП

Ккласс объектов характеризуется поведением, влияющим на его свойства. Поведение объекта описывается методами (процедурами и функциями), входящими в описание класса. Доступность свойств и методов извне определяется ключевыми словами Private и Public. Область действия свойств и функций, определенных как Private – только рамки данного класса. Приватность означает, что любая программа, использующая этот класс, не может обратиться к его частным членам. Это свойство, обеспечиваемое классом, является критическим для защиты данных. Защита свойств описанием Private гарантирует, что доступ к значению данных будут иметь только методы внутри класса. Таким образом обеспечивается целостность объекта. Члены класса, определенные как Public, доступны из других классов объектов (3.19).

Рис. 3.19 Области действия свойств и методов объекта (PUBLIC и PRIVATE)

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

Таблица 3.33 Описание класса

Класс

Обозначение

Бейсик

Паскаль

Си++

Описание класса

class TMyClass

Item1: integer;

Item2: string;

function GetSum(n: integer): integer;

procedure Initialize;

end;

class TMyClass

{

int Item1;

int Item2;

int GetSum(int n);

void Initialize();

);

Доступ к методу класса

procedure TMyClass.Initialize;

begin

Iteml := 1;

Item2 := «»;

end;

void TMyClass::Initialize ()

{

Item1 = 1;

Item2 = 0;

}

Описание экземпляров класса

var Cl, C2: TMyClass;

TMyClass Cl, C2;

Доступ к свойствам экземпляра

Cl.Item1 := 5;

C2.Initialize;

х := Cl.GetSum(21);