- •Основы визуального программирования
- •Учебное пособие
- •Основы визуального программирования
- •1. Создать новый проект Windows Forms 91
- •Введение
- •Интегрированная среда разработки Microsoft Visual Studio
- •1.1 Многофайловая организация программ
- •1.2 Структура проекта в среде Visual Studio
- •1.4 Отладка программы
- •1.3 Создание консольного приложения в Visual Studio
- •Объектно-ориентированное программирование
- •Наследование;
- •Описание класса
- •Описание объектов
- •Методы класса
- •Наследование
- •Иерархия классов
- •Виртуальные методы. Полиморфизм.
- •Контейнерные классы
- •Принципы разработки Windows – приложений
- •Создание простейшего Windows-приложения
- •3.2 Диалоговые окна
- •3.3 Элементы управления и их свойства
- •Элемент управления Button
- •Элемент управления TextBox
- •Элементы управления MaskedTextBox и ToolTip
- •Элемент управления Label
- •Элемент управления ListBox
- •3.3.5. Элемент управления ComboBox
- •Элемент управления RadioButton
- •Элемент управления CheckBox
- •Элемент управления RichTextBox
- •Чтобы загрузить файл в элемент управления RichTextBox в процедуре обработки события для кнопки Button1:
- •Элемент управления NumericUpDown
- •Элемент управления Timer
- •Щелчок мыши и его обработка
- •3.5 Создание меню приложений
- •3.5.1 Создание главного меню
- •3.5.2 Создание контекстного меню
- •Рисование на форме
- •3.7 Создание многооконных приложений
- •Чтобы добавить новую форму Windows Forms выполните следующие действия:
- •Лабораторный практикум по визуальному программированию лабораторная работа 1 Создание простейшего Windows-приложения
- •Создать новый проект Windows Forms
- •Разместить на форме элементы управления
- •Настроить свойства элементов управления.
- •Создать обработчик событий для кнопки.
- •Выполните компиляцию программы.
- •Запуск программы на выполнение.
- •Добавление на форму элементов управления.
- •Создать новый проект Windows Forms и назвать его, например, Form_Second.
- •Разместить на форме элементы управления
- •Создать обработчик событий для кнопки
- •Лабораторная работа 2 создание приложения Windows Forms для вызова рекурсивных функций
- •Создать новый проект Windows Forms
- •Разместить на форме элементы управления
- •Настроить свойства элементов управления.
- •Создать обработчик событий для кнопки.
- •Запустить программу на выполнение.
- •Лабораторная работа 3 Создание Windows-приложения для обработки массива
- •Создать новый проект Windows Forms и назвать его, например, Form_lab2.
- •Разместить на форме элементы управления
- •Создать обработчик событий для кнопки
- •Лабораторная работа 4 Создание меню в Windows-приложение
- •Создать новый проект Windows Forms с именем form_lab3.Cpp.
- •Разместить на форме элементы управления и настроить их свойства
- •Создать обработчики событий для остальных пунктов меню
- •Заключение
- •Список литературы
Объектно-ориентированное программирование
Объектно-ориентированное, или объектное, программирование (ООП) — технология программирования, в которой основными концепциями являются понятия объектов и классов [2].
Идея классов является основой объектно-ориентированного программирования (ООП).
Класс является типом данных определяемым пользователем. В классе задаются свойства и поведение какого-либо предмета или процесса в виде полей данных (аналогично структуре) и функций для работы с ними (методов).
Объект - это конкретный экземпляр, построенный в памяти на основе своего шаблона (класса).
Основными принципами ООП являются:
Инкапсуляция;
Наследование;
Полиморфизм.
Описание класса
Класс является абстрактным типом данных, определяемым пользователем, и представляет собой модель реального объекта в виде данных и функций для работы с ними.
Данные класса называются полями, а функции класса — методами. Поля и методы называются элементами класса.
При описании класса реализуется один из ключевых понятий ООП - инкапсуляция. Для начала приведу формальное определение этого понятия:
Инкапсуляция - это механизм, который объединяет данные и методы, манипулирующие этими данными, и защищает и то и другое от внешнего вмешательства или неправильного использования. Когда методы и данные объединяются таким способом, создается объект.
Описание класса выглядит так:
class <имя>
{
private:
<описание скрытых элементов>
public:
<описание доступных элементов>
};
Где спецификаторы доступа private и publiс управляют видимостью элементов класса. Элементы, описанные после служебного слова private, видимы только внутри класса. Этот вид доступа принят в классе по умолчанию.
Термин private понимается в том смысле, что данные заключены внутри класса и защищены от несанкционированного доступа функций, расположенных вне класса. Такие данные доступны только внутри класса.
Данные, описанные ключевым словом publiс, напротив, доступны за пределами класса.
Поля класса:
• могут иметь любой тип, кроме типа этого же класса (но могут быть указателями или ссылками на этот класс);
• могут быть описаны с модификатором const, при этом они инициализируются только один раз (с помощью конструктора) и не могут изменяться.
Инициализация полей при описании не допускается.
Методы класса – это функции входящие в состав класса.
Описание объектов
Конкретные переменные типа «класс» называются экземплярами класса, или объектами.
Время жизни и видимость объектов зависит от вида и места их описания и подчиняется общим правилам языка С++.
Формат:
<имя класса> переменная;
Замечание: Объект находится в таком же отношении к своему классу, в каком переменная находится по отношению к своему типу.
Рассмотрим пример описания класса TPoint (точка):
Точка характеризуется координатами: x и y – это свойства объекта;
Над точкой можно выполнять следующие действия:
- можно задать её координаты;
- точку можно переместить (изменив координаты);
- можно получить координаты точки.
Далее приведем текст программы, который задает координаты точки, выводит их на экран, а, затем, перемещает точку в другие координаты.
#include "stdafx.h"
#include "iostream"
class TPoint
{ private:
int x,y;
public:
void InitPoint ( int newx, int newy)//метод инициализации точки
{ x = newx;
y = newy ;
}
void relmove ( int dx, int dy )//метод перемещения точки
{
x+= dx;
y += dy ;
}
int getx ( void )//метод возвращает координату х
{ return x ; }
int gety ( void ) //метод возвращает координату y
{ return y ; }
};
int main()
{
TPoint p;// описание объекта p
p.InitPoint(10,10);
std::cout<< "x="<<p.getx()<<",\ty="<< p.gety()<<"\n";
p.relmove(5,10);// перемещение точки
std::cout<<"x="<< p.getx()<<",\ty="<< p.gety()<<"\n";
return 0;
}
В этом классе два скрытых поля — x и y, получить значения которых извне можно с помощью методов getx() и gety().
Все методы класса имеют непосредственный доступ к его скрытым полям.
В результате выполнения программы на экран будут выводиться первоначальные координаты точка, а затем новые координаты (рисунок 2.1).
Классы могут быть глобальными (объявленными вне любого блока) и локальными (объявленными внутри блока, например, внутри функции или другого класса).
Рисунок 2.1. – Результат работы программы
