Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Материалы для самостоятельной проработки




Краткое введение в объектно-ориентированное программирование (ООП)

 Концепция ООП. С++ CLR, классы, методы, свойства, события, обработчики событий. Windows form application, структура класса form, компоненты среды визуального программирования.

Объект (object, instance) – конкретная реализация абстрактного типа (класса), обладающая характеристиками состояния (state), поведения (behavior), и индивидуальности (identity).

Состояние – один из возможных вариантов условий существования объектов.

Поведение – описание объекта в терминах изменения его состояния и передачи сообщений в процессе воздействия или под действием других объектов.

Индивидуальность – сущность объекта, отличающая его от всех других объектов.

На основе возможных состояний определяется жизненный цикл объекта.

Для описания поведения объектов используют модель состояний Мура, которая состоит:

  1. Из множества состояний. Каждое состояние представляет стадию в жизненном цикле типичного экземпляра объекта.
  2. Из множества событий. Каждое событие представляет инцидент или указание на то, что происходит эволюционирование.
  3. Из правил перехода. Правило перехода определяет, какое новое состояние достигается, когда с объектом в данном состоянии происходит некоторое событие.
  4. Из действий. Действие – деятельность или операция, которые должны быть выполнены над объектом, чтобы он достиг состояния. Как правило, одно действие связывается с каждым состоянием.

Все объекты, как правило, относят к следующим категориям:

    • реальные объекты – абстракции фактического существования некоторых предметов в физическом мире (дом, стул и т.д.);
    • роли – абстракции цели или назначения человека, части оборудования или организации (студент, преподаватель, сливной бачок, дипломат, избиратель);
    • инциденты – абстракции чего-то происшедшего или случившегося (наводнение, скачок напряжения, выборы);
    • взаимодействия – объекты, получаемые из отношений между другими объектами (перекресток, порог, договор, взятка, долг);
    • спецификации – используются для представления правил, стандартов или критериев качества (правила дорожного движения, распорядок дня, расписание).

Отношения между объектами:

  1. Отношение использования (старшинства).

Каждый объект, включенный в отношения использования, может играть следующие три роли:

  • Воздействие – объект может воздействовать на другие объекты, но сам никогда не подвержен воздействию других объектов (в определенном смысле соответствует понятию активный объект).
  • Исполнение – объект в этом случае может только подвергаться управлению со стороны других объектов, но сам никогда не выступает в роли воздействующего объекта (пассивный объект).
  • Посредничество – такой объект может выступать как в роли воздействующего, так и в роли исполнителя (как правило, объект-посредник создается для выполнения операций в интересах какого-либо активного объекта или другого посредника).
  1. Отношение включения.

Между отношением включения и использования существует взаимная связь. Включение одних объектов в другие предпочтительнее в том плане, что при этом уменьшается число объектов, с которыми вы непосредственно работаете. С другой стороны, использование одних объектов другими имеет преимущество: не возникает сильной зависимости между объектами, как в случае включения.

Классы.

Класс – это такая абстракция множества предметов реального мира, когда:

  • все предметы в этом множестве – объекты (экземпляры) имеют одни и те же характеристики;
  • все экземпляры подчинены и согласовываются с одним и тем же набором правил и линий поведения.

Отношения между классами:

  • наследование;
  • использование;
  • наполнение;
  • метаклассы.

В классах определяются поля (характеристики объекта или класса) и методы (функции объекта или класса, которые используются для работы с полями).

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

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

Домены.

Домен – отдельный реальный, гипотетический или абстрактный мир, населенный отчетливым набором объектов, которые ведут себя в соответствии с характерными для домена правилами и линиями поведения.

Каждый домен образует отдельное и связное единое целое.

Что касается классов, то:

  • Класс определяется в одном единственном домене.
  • Классы в домене требуют существования других классов в том же домене.
  • Классы в одном домене не требуют существования классов в другом домене.

При создании проекта под Windows form application создается заголовочный файл, содержащий заготовку класса Form1.

Структура класса Form1:

public ref class Form1 : public Form

{

public:

       // Конструктор

       Form1(void)

       {

                   …

       }

 

protected:

       // Деструктор

       ~Form1()

       {

                   …

       }

 

private:

       // Атрибуты класса

       …

       // Метод, инициализирующий компоненты

       void InitializeComponent(void)

       {

                   …

       }

       // Обработчики событий

System::Void exit_Click(System::Object^ sender, Sytem::EventArgs^ e)

       {

                   Close();

       }

       …

};

Класс Form1 может содержать различные компоненты, которые делятся на визуализируемые и невизуализируемые. К визуализируемым относятся такие компоненты как Button, TextBox, EditgridView.

Каждый компонент обрабатывает события, на которые можно подписать свои обработчики событий, которые размещаются в том классе формы, которая включает этот компонент.

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

 










Последнее изменение этой страницы: 2018-06-01; просмотров: 204.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...