Введение в визуальное программирование на языке C в среде VS C++
Покупка
Новинка
Тематика:
Программирование на C и C++
Год издания: 2017
Кол-во страниц: 80
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7038-4639-1
Артикул: 842071.01.99
Рассмотрена работа непосредственно в среде визуального программирования в режиме Common Language Runtime (CLR). Изложены основные понятия и принципы объектно-ориентированного программирования. Описаны порядок создания приложения, основные инструменты, используемые при разработке программы, правила создания событий, обработчики событий, простейшие компоненты интерфейса. Для студентов 1-го курса МГТУ им. Н.Э. Баумана, обучающихся по машино- и приборостроительным специальностям.
Тематика:
ББК:
УДК:
- 004: Информационные технологии. Вычислительная техника...
- 681: Точная механика. Автоматика. Приборостроение
ОКСО:
- ВО - Бакалавриат
- 12.03.01: Приборостроение
- 15.03.01: Машиностроение
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет имени Н.Э. Баумана Ю.Е. Алексеев, А.В. Куров Введение в визуальное программирование на языке C в среде VS C++ Учебное пособие 1
УДК 681.3.06 ББК 32.973.018 А47 Издание доступно в электронном виде на портале ebooks.bmstu.ru по адресу: http://ebooks.bmstu.ru/catalog/199/book1619.html Факультет «Информатика и системы управления» Кафедра «Программное обеспечение ЭВМ и информационные технологии» Рекомендовано Редакционно-издательским советом МГТУ им. Н.Э. Баумана в качестве учебного пособия Рецензент канд. техн. наук С.М. Авдеева Алексеев, Ю. Е. А47 Введение в визуальное программирование на языке C в среде VS C++ : учебное пособие / Ю. Е. Алексеев, А. В. Куров. — Москва : Издательство МГТУ им. Н. Э. Баумана, 2017. — 78, [2] с. : ил. ISBN 978-5-7038-4639-1 Рассмотрена работа непосредственно в среде визуального программирования в режиме Common Language Runtime (CLR). Изложены основные понятия и принципы объектно-ориентированного программирования. Описаны порядок создания приложения, основные инструменты, используемые при разработке программы, правила создания событий, обработчики событий, простейшие компоненты интерфейса. Для студентов 1-го курса МГТУ им. Н.Э. Баумана, обучающихся по машино- и приборостроительным специальностям. УДК 681.3.06 ББК 32.973.018 © МГТУ им. Н.Э. Баумана, 2017 © Оформление. Издательство ISBN 978-5-7038-4639-1 МГТУ им. Н.Э. Баумана, 2017 2
Предисловие Данное издание соответствует программе курса «Информатика», преподаваемого кафедрой «Программное обеспечение ЭВМ и информационные технологии» студентам 1-го курса большинства специальностей университета. В пособии рассмотрены основы программирования непосредственно в среде визуального программирования. Современные среды программирования предоставляют программисту разнообразные готовые средства создания интерфейса. Студент технического университета в процессе обучения должен приобрести знания и умения создавать приложения в визуальной среде, использовать возможности, предоставляемые средой. Среда визуального программирования широко применяет технологию объектно-ориентированного программирования, поэтому в пособии изложены основные принципы этой технологии. В частности, дано определение класса, приведен пример объявления класса, описаны основные принципы построения классов (инкапсуляция, наследование и полиморфизм). Кроме того, в соответствии с учебным планом рассмотрены особенности использования общеязыковой среды выполнения (CLR), в частности применение регулируемых указателей и регулируемой кучи, ссылочных классов. В издании приведены порядок создания приложения в среде визуального программирования, а также порядок нанесения компонентов на форму с использованием основных инструментов — палитры компонентов и окна свойств. Рассмотрены отличия событийно-ориентированного программирования от процедурно-ориентированного, с которым студенты знакомятся в течение I семестра, создавая консольные приложения. Даны сведения о свойствах, методах, событиях основных компонентов, предназначенных для создания приложений. 3
Изучение материала данного пособия позволит студенту: • получить знания об основах объектно-ориентированного программирования, создания проектов в среде визуального программирования, особенностях работы в режиме CLR; • закрепить теоретические знания, приобрести навыки создания приложений с использованием основных элементов интерфейса, предоставляемых средой визуального программирования. 4
1. КЛАССЫ Класс можно рассматривать как тип данных, но в отличие от обычного типа, определяющего набор значений, класс объединяет в себе данные и подпрограммы (функции) обработки этих данных. Класс можно рассматривать как дальнейшее развитие типа данных «структура». В классе, как и в структуре, объединяются данные различных типов. Эти данные принято называть полями. Помимо этого класс содержит функции, которые называют методами. Для объявления класса используется ключевое слово class, за которым следует имя типа (класса), а затем в фигурных скобках — объявления типа каждого поля и метода. Объявление завершается точкой с запятой. Пример конструкции типа данных «структура»: class [имя типа (класса)] { [спецификатор доступа] тип1 поле1; [спецификатор доступа] тип2 поле2; ….. [спецификатор доступа] типN полеN; [спецификатор доступа] заголовок метода1; [спецификатор доступа] заголовок метода2; …… [спецификатор доступа] заголовок методаM; }; Объявление класса, представляющего положение точки на плоскости с методами, которые позволяют инициализировать поля, являющиеся координатами, и считывать значения этих полей, выглядит следующим образом: class point { public: float x,y; 5
void initx(float ix); void inity(float iy); float getx(); float gety(); }; Поля класса могут иметь любой тип, кроме типа этого же класса (могут быть указателями или ссылками на этот тип). Они могут объявляться с модификатором const, при этом они инициализируются только один раз и не могут изменяться. Инициализация полей при описании не разрешается. Поля и методы класса объявляются с использованием спецификаторов доступа private, public, protected. Элементы, описанные после служебного слова private, доступны только внутри этого класса и недоступны вне этого класса. Этот вид доступа принят в классе по умолчанию. Элементы, описанные с использованием спецификатора public, доступны вовне этого класса (в области видимости объекта этого класса) и определяют интерфейс класса. Элементы, описанные в секции protected (защищенный), рассматриваются как открытые в производных классах (рассматриваются дальше в наследовании) и закрытые в остальной части программы. Секции могут располагаться в произвольном порядке, причем каждая секция может создаваться любое количество раз. Действие очередного спецификатора распространяется до следующего спецификатора или до конца объявления класса. Рекомендуется использовать не более одного раздела каждого вида, группируя данные соответствующего раздела. Конкретные переменные типа класс называют экземплярами класса или объектами. Время жизни и видимость объектов зависят от вида и места их описания и подчиняются общим правилам языка. Каждый объект получает уникальный набор полей, но общий для всех объектов класса набор методов. Поскольку данные (поля) и методы инкапсулированы в одном объекте, то все данные (поля) глобальны по отношению к любым его методам и могут использоваться с указанием простого имени. При этом формальные параметры методов совпадать с именами полей не должны. Функции — члены класса имеют доступ ко всем членам класса, объявленным в классе. Функции — члены класса могут вызывать друг друга напрямую. Это становится возможным благодаря наличию специального параметра this, который хранит адрес области 6
памяти переменной типа «класс» и неявно передается методам при вызове. Методы класса могут размещаться внутри описания класса. Однако при создании сложных классов методы выносятся за пределы кдасса, а заголовок метода (прототип) указывается внутри класса. Для определения функции — члена класса вне класса используется оператор разрешения области видимости «::» (два двоеточия). При этом перед кодом метода указывается имя класса, которому он принадлежит. Пример программы, демонстрирующей работу с классом «точка»: class point { public: float x,y; void initx(float ix); void inity(float iy); float getx(); float gety(); }; int _tmain(int argc, _TCHAR* argv[]) { point p1; p1.initx(5.5); p1.inity(-2.2); printf("x=%5.1f y=%5.1f",p1.getx(),p1.gety()); getch(); return 0; } void point::initx(float ix) { x=ix; } void point::inity(float iy) { y=iy; } float point::getx() { return x; } float point::gety() { return y; } Классы могут быть глобальными (объявляются вне какоголибо блока) и локальными (объявляются внутри функции или другого класса). 7
В состав любого класса входят специальные методы — конструктор и деструктор, которые объявляются в классе или наследуются от базового класса. Конструктор используется для создания объекта (выделения памяти под него), деструктор — для освобождения памяти. Конструктор вызывается каждый раз, когда создается объект: при объявлении экземпляра переменной автоматически вызывается конструктор для создания экземпляра. Если конструктор явно не определен, то вызывается конструктор по умолчанию без параметров. Конструктор определяет необходимый размер памяти под размещение объекта в динамической памяти, осуществляет выделение памяти и распределение объекта в памяти, помещает адрес этой памяти в экземпляр — переменную типа класса. Деструктор освобождает динамическую память и разрушает объект. Класс может иметь несколько конструкторов для разной инициализации данных членов. Существует ряд правил объявления конструктора и деструктора. Имена конструктора и деструктора должны совпадать с именем класса, перед именем деструктора ставится знак тильды «~». Конструктор и деструктор не имеют типа возвращаемого результата. Если не указывается ни одного конструктора, то он создается компилятором автоматически. Конструкторы используются в основном для инициализации полей. Доступ к полям и методам объекта, объявленным со спецификатором public, извне класса выполняется с использованием операции прямого выбора (используется точка), например: p.x= 9.7; p.y=-3.4; Однако такой способ нежелателен. К закрытым полям доступ осуществляется с помощью вызова соответствующих методов. Основными принципами построения классов являются инкапсуляция, наследование, полиморфизм. Инкапсуляция — это объединение в виде одного целого (конструкции) данных и программ обработки этих данных. Этот принцип позволяет максимально изолировать объект класса от внешнего воздействия, что повышает надежность программ, использующих объекты. Создание библиотек классов значительно увеличивает производительность труда программистов по анало8