Основы программирования visual basic
Основы среды программирования Microsoft Visual Basic 6.0
В данном материале рассмотрены основы программирования на языке Visual Basic, а конкретней в среде программирования Microsoft Visual Basic 6.0. Данная среда программирования и язык Visual Basic является одним из самых легких языков для начинающих программистов. А почему? В этой статье мы с Вами и попробуем разобраться.
Теория по Visual Basic
Вообще цель программирования — это написание команд для компьютера, которые смогут показать ему, что нужно сделать, например, напечатать отчет, подсчитать что-нибудь или просто развеселить Вас.
С самого начало заведено, что программирование в основном служит для написания команд двух типов. Команды первого типа используются для отображения пользовательского интерфейса, а команды второго типа — для самих действий, например для перемножения или открытия файла.
Для большинства людей изучение программирования доставляет определенные трудности. Первая и основная трудность связана с тем, что языки программирования, например C++ или Assembler, слишком сложны для понимания. Попытка изучить язык Assembler часто сравнима с попыткой человека, владеющего русским или немецким, научиться разговаривать и писать на арабском или японском. Вторая трудность состоит в том, что пока Вы пишите команды для создания пользовательского интерфейса, в конце концов, у Вас не останется сил и времени на написание команд, которые и выполняют конкретные действия.
Чтобы решить обе проблемы, компания Microsoft разработала язык Visual Basic, а точнее среду программирования Microsoft Visual Basic, которая объединила в себе язык программирования BASIC и возможности быстрого создания пользовательского интерфейса простыми способами. В отличие от многих других языков программирования, BASIC был специально разработан для обучения основам программирования начинающих пользователей.
Что касается визуальных возможностей среды Visual Basic, то здесь Вы можете создавать свой пользовательский интерфейс без написания отдельных команд. Иными словами, Вы создаете интерфейс, как будто Вы рисуете себе картинку, без всяких проблем.
Начиная писать любую программу, первым делом необходимо решить, что эта программа должна делать. Когда Вы будете точно знать, что Вы хотите от программы и компьютера, Вы без труда сможете определить, какие команды нужно дать компьютеру, чтобы он в точности выполнил Ваши указания.
Не существует уникального способа написания программы. Теоретически существуют возможность с помощью тысячи способов написать одну и ту же программу. Два программиста могут написать программы, которые будут работать абсолютно одинаково, но при этом они будут состоять из совершенно разных кодов и команд. Поэтому не важно, как написана программа и на каком языке. Важно лишь то, что она работает так, как Вы это запланировали. Visual Basic помогает реализовать идею быстрого создания пользовательского интерфейса простым способом. Пользовательский интерфейс служит двум целям: отображает информацию на экране и принимает от пользователя конкретные команды к действию.
Основы среды программирования
В Visual Basic все элементы интерфейса делятся на две группы: формы и объекты.
Форма — это всего лишь прямоугольное окно, отображаемое на экране. Объекты — представляют собой элементы, которые содержатся в форме и служат для отображения или получения информации от пользователя. Объектом может быть текст, кнопка, флажок, опции и т.д.
После того как Вы создали форму и разместили в ней нужные объекты, эту форму и ее объекты нужно подогнать под конкретную программу. С точки зрения Visual Basic, каждый элемент интерфейса имеет набор собственных свойств, который определяет, как этот объект выглядит и что делает. В частности, свойствами определяются такие атрибуты объекта, как размер, размещение на экране, цвет и т.д.
Разные элементы имеют разные свойства. Каждый раз, когда Вы рисуете форму или объект, Visual Basic назначает им свойства, установленные по умолчанию.
В отличие от таких языков программирования как C++, Visual Basic избавляет Вас от необходимости использовать коды для создания пользовательского интерфейса, но эти команды все же необходимы для того, чтобы Ваша программа заработала. В мире Visual Basic команды (коды) служат двум целям: делают пользовательский интерфейс рабочим, а также обрабатывают различные данные, с тем, чтобы вернуть пользователю полезный результат.
Даже если Вы с помощью Visual Basic создали какой-то интерфейс, он не будет работать до тех пор, пока программист не напишет ему действия, которые объяснят компьютеру, что нужно делать, если пользователь, скажем, щелкнул на кнопке. Каждый раз, когда пользователь двигает курсором, нажимает кнопку или щелкает кнопкой мыши, т.е. выполняет действие, таковое рассматривается компьютером как команда к действию. Когда такое событие происходит, компьютер обращается к командам BASIC, с тем чтобы они объяснили, как на это нужно реагировать.
Слово Basic, в названии Microsoft Visual Basic 6.0., указывает лишь на то, что синтаксис программ и операторы ссылаются на язык высокого уровня Basic (Beginners Atlpurpose Symbolic Instruction Code). Но если Вы знаете обычный Basic, то очень скоро убедитесь, что Visual Basic заметно от него отличается.
Если Вас интересует вопрос что такое Visual Basic — компилятор или интерпретатор, можно смело сказать: «И тем, и другим». Его нельзя на сто процентов отнести ни к компиляторам, ни к интерпретаторам.
Основным признаком интерпретатора Visual Basic является то, что созданные с помощью него программы выполняются только в среде разработки. Программу можно запустить непосредственно из среды и если в ней есть ошибки, они сразу же распознаются. Все это наблюдается и в Visual Basic, где можно запустить приложение непосредственно в среде программирования. При этом Visual Basic использует технологию Threaded-p-Code, при которой каждая написанная строка кода преобразуется в промежуточный код — Threaded-p-Code. Не путайте это не машинный код, но такой код выполняется быстрее, чем при работе с обычным интерпретатором. Во-первых, Visual Basic сразу же проверяет синтаксис программы и выдает сообщение, если присутствует ошибка. Также можно самим искать эти ошибки.
При этом Visual Basic — не просто интерпретатор, так как это означало бы, что приложения выполняются только в среде Visual Basic. Эта среда программирования предоставляет возможность создавать и исполняемые ЕХЕ-файлы, поэтому она относится и к компиляторам.
Visual Basic нельзя назвать чистым компилятором, так как в отличие, например, от Visual C++, Visual Basic не создает исполняемый файл сразу же при запуске из среды разработки. Для создания такого файла необходимо сделать это явно (команда FileMake ***.EXE). Начиная с пятой версии, Visual Basic обладает так называемым «Native Compiler», т.е. компилятором, который может создавать машинный код. Таким образом, Visual Basic объединяет в себе возможности, как интерпретатора, так и компилятора. И это имеет больше преимуществ, чем недостатков.
Теперь давайте поближе познакомимся со средой программирования Microsoft Visual Basic. При открытие самой среды программирования у Вас появляется окно «Новый проект», в котором и нужно выбрать какой проект мы будим создавать, для начала мы создадим простой проект, а точнее стандартный, «Standard EXE» это — стандартное выполняемое приложение. В дальнейшем, когда Вы уже научитесь работать в этой среде можете пробовать создавать и другие проекты, например ActiveX DLL — динамическая библиотека ActiveX.
После того как Вы нажали создать (открыть) новый проект, у Вас появится сама среда программирования Visual Basic, а точнее форма, но пока в ней ничего нет, и она ничего делать не умеет. Для любопытства можете нажать команду меню run->start (запустить) или просто выбрать в быстром меню кнопку «старт», у Вас запустится программа, но как я уже сказал, она ничего не делает, это просто пустая форма. Закройте это окошко и давайте наполним нашу программу пользовательским интерфейсом и программным кодом.
Пример программы на VB
Для начала мы с Вами сделаем простенькую программу.
Поместите на форму следующие объекты: 2 кнопки CommandButton (Кнопка управления) и одно текстовое поле TextBox (Текстовое поле). Они расположены слева и называются «Кнопки панели элементов управления». Теперь когда у Вас они расположены на форме, можете, как угодно их поместить, растянуть, и даже задать какие-нибудь свойства, которые расположены справа. Мы с Вами зададим всего лишь их название, для этого выделите кнопку Command1 (просто нажав на нее) и с права в окне свойств найдите поле Caption и задайте название этой кнопки (измените Command1 например на «Выполнить»). Теперь выделим Command2 и зададим ей название «Выход».
Теперь, когда у нас есть объекты на форме, давайте зададим им действия, которые они должны выполнять. Щелкните 2 раза по кнопки Command1 (или как у нас уже «Выполнить») и у Вас откроется окно кода где написано:
Вы напишите между этими строками вот что, и должно получиться вот так:
Здесь мы задали, что при нажатие этой кнопки в текстовом поле будет появляться эта надпись.
Можете закрыть по крестику окно кода, и щелкнуть 2 раза по кнопке Command2 (у нас «Выход»), появляется то же самое окно, но уже готовое, для того чтобы задать действие для второй кнопки пишем вот что:
Мы здесь написали команду END, которая обозначает, что программа заканчивает свою работу.
Все можете запустить Вашу первую программу и попробовать, как она работает, но это конечно все только начало т.к. на Visual Basic можно написать такие серьезные программы которые не уступят таким программам, которые написаны, например, на языке C++.
Надеюсь, Вы теперь понимаете, почему этот язык является одним из самых легких (если не самым легкий) языков программирования. А начинать с него или не с него, то это только Ваш выбор.
Все, удачи в освоение Visual Basic, начинающим рекомендую начать свой путь программиста именно с этого языка.
Основы программирования visual basic
������� ���������� ��������� �� ����� VBA – �������, ����� �������� �� ���������� ������, � ����������� �� ��������� ����������. ���� ���������� �������� ���������, ������� ����� ����������� ������������ ���������� ��� ��������, ����������� �������������� ����������� ������������ ���������� Microsoft Office, �� ���������� ������� ����������� ������. ��� ���������� ���� ��������� ����� ��������� � ������� ������� ���������� ������, ������� ������� ����� �������� ���������� ���������. ��� ����� � ���������� ���������� �������� ������ ������������ � ������� ������� ��� ������ ������������
�������� ����������, � ����� ������� ������ � ��������������� ����������� �����. ���� ��������� ��������� � ������� ������� ������
������
�������.
���������� “�����������” ��������� (��� ���������� ������� ��������� ��������� ����, � ���������� ���������� ����������) ����� �������� ��� �����. ������ ���� – ���� ����������� ����������������, �� ������� ��������� ���� (�����) ���������, ��� ������������� ����������� �������� ����������. ������ – ���� ����������������, �� ������� ��������� ����� ��������� (���������), ������������� � ����� �� ������������ �������. �������� ��������, ��������, ������ ����� ������� ���� �� ��������� ������ (������� Click), ������� ������� �� ���������� (������� KeyPress) � �.�. ������������ ����� ���������� ����� �������� ������ – «������ �������».
Range(“�����”)
Cells(i, j)
Rows(� ������)
Columns(� �������)
Sheets(“���”)
Sheets(� �����)
WorkSheet
Range(“A5:A10”). Value = 0 ��� Range(“A5:A10”) = 0 – � �������� ����� A5:A10 ��������� �������� 0.
Cells(2, 4). Value = n ��� Cells(2, 4) = n – � ������, ����������� �� ����������� 2-� ������ � 4-�� ������� (������ � ������� “D2”), ��������� �������� ���������� n.
Xn = Cells(1, 2).Value ��� Xn = Range(“B1”).Value – ���������� Xn ������������� �������� �� ������ B1 �������� �������� �����.
Sheets(2).Activate – ������� �������� ���� � �2.
Sheets(“���������”).Delete – ������� ���� � ������ “���������”.
Range(«A5:A10»).Clear – �������� �������� ����� A5:A10.
Range(«A2:B10»).Select – �������� �������� ����� A2:B10.
Application.Quit — ���������� ������ � Excel.
VBA Excel. Начинаем программировать с нуля
Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.
Знакомство с редактором VBA
- Создайте новую книгу Excel и сохраните ее как книгу с поддержкой макросов с расширением .xlsm. В старых версиях Excel по 2003 год – как обычную книгу с расширением .xls.
- Нажмите сочетание клавиш «левая_клавиша_Alt+F11», которое откроет редактор VBA. С правой клавишей Alt такой фокус не пройдет. Также, в редактор VBA можно перейти по ссылке «Visual Basic» из панели инструментов «Разработчик» на ленте быстрого доступа. Если вкладки «Разработчик» на ленте нет, ее следует добавить в настройках параметров Excel.
В левой части редактора VBA расположен проводник проекта, в котором отображены все открытые книги Excel. Верхней строки, как на изображении, у вас скорее всего не будет, так как это – личная книга макросов. Справа расположен модуль, в который записываются процедуры (подпрограммы) с кодом VBA. На изображении открыт модуль листа, мы же далее создадим стандартный программный модуль.
- Нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку после значка Excel на панели инструментов.
После нажатия кнопки «Module» вы увидите ссылку на него, появившуюся в проводнике слева.
Первая программа на VBA Excel
Добавляем на стандартный модуль шаблон процедуры – строки ее начала и завершения, между которыми мы и будем писать свою первую программу (процедуру, подпрограмму).
- Откройте стандартный модуль двойным кликом по его ссылке в проводнике. Поместите в него курсор и нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.
В результате откроется окно добавления шаблона процедуры (Sub).
- Наберите в поле «Name» имя процедуры: «Primer1», или скопируйте его отсюда и вставьте в поле «Name». Нажмите кнопку «OK», чтобы добавить в модуль первую и последнюю строки процедуры.
Имя процедуры может быть написано как на латинице, так и на кириллице, может содержать цифры и знак подчеркивания. Оно обязательно должно начинаться с буквы и не содержать пробелы, вместо которых следует использовать знак подчеркивания.
- Вставьте внутрь шаблона процедуры следующую строку: MsgBox «Привет» .
Функция MsgBox выводит информационное сообщение с указанным текстом. В нашем примере – это «Привет».
- Проверьте, что курсор находится внутри процедуры, и запустите ее, нажав клавишу «F5». А также, запустить процедуру на выполнение можно, нажав на треугольник (на изображении под пунктом меню «Debug») или на кнопку «Run Sub/UserForm» во вкладке «Run» главного меню редактора VBA Excel.
Если вы увидели такое сообщение, как на изображении, то, поздравляю – вы написали свою первую программу!
Работа с переменными
Чтобы использовать в процедуре переменные, их необходимо объявить с помощью ключевого слова «Dim». Если при объявлении переменных не указать типы данных, они смогут принимать любые доступные в VBA Excel значения. Комментарии в тексте процедур начинаются со знака «’» (апостроф).
Пример 2
Присвоение переменным числовых значений:
Школа программирования. Основы программирования на Visual Basic
Н.М. Тимофеева,
г. Обнинск Калужской обл.
Общий вид экрана при работе в Visual Basic
После запуска Visual Basic на экране появляется окно Project1 — Microsoft Visual Basic (рис. 1).
Основные понятия, используемые при разработке программ на языке Visual Basic
1. Приложение — разрабатываемая программа.
2. Проект — это набор файлов, которые используются в приложении.
3. Объекты. Visual Basic относится к языкам объектно-ориентированного программирования (ООП). Ключевая особенность ООП — применение в программах многократно используемых объектов, которые являются своеобразными строительными блоками программ. В Visual Basic имеется более сотни встроенных объектов. Основными среди них являются форма и элементы управления. Можно создавать также собственные объекты.
4. Форма. Форма включает элементы управления и код, связанный с этой формой. Вы создаете формы, чтобы они служили интерфейсом вашего приложения. Каждая форма — это окно, которое показывает элементы управления и графические изображения.
5. Элементы управления. Элементы управления — это инструменты, такие, как кнопки (buttons), надписи (labels) и др., которые вы размещаете на форме, чтобы обеспечить ввод и вывод данных, их обработку и т.д. На рис. 2 представлены элементы, доступные в блоке элементов управления (см. рис. 1)1.
Вы выбираете элементы управления из блока и размещаете их на форме. После этого можно изменить их начальные характеристики — свойства (properties)2.
6. Свойства. Каждый объект, используемый в приложении (формы, элементы управления и др.), обладает набором свойств (имя, размер, цвет, место расположения и т.д.). Начальные значения свойств отображаются в окне свойств (см. рис. 3).
7. События. Каждая форма и элемент управления в Visual Basic реагирует на предопределенный набор событий. Это может быть нажатие на клавишу, щелчок мышью или др. Например, в таблице на с. 38 приведены несколько событий, которые распознает элемент Кнопка.
Когда происходит событие, Visual Basic выполняет код (событийную процедуру4), которую вы для него написали.
8. Код. Как только что говорилось, чтобы ваше приложение реагировало на действия пользователя или события, вы пишите код для ваших форм и элементов управления (в окне кода — рис. 4). Синтаксис языка Visual Basic в значительной степени связан с синтаксисом языков QuickBasic, Турбо-Бейсик и т.п.
Особенностью среды Visual Basic является тот факт, что, когда при написании кода вы допускаете синтаксическую ошибку [2], она будет найдена и указана вам.
9. Событийные процедуры. После размещения элементов управления на форме и задания начальных значений их свойств вам нужно написать код для тех событий, на которые ваше приложение должно реагировать. Событийные процедуры могут:
— изменять свойства объекта;
— посылать информацию на принтер или диск;
— демонстрировать диалоговые окна;
— выдавать сообщения или предупреждения;
— переключаться на другие событийные процедуры;
— вызывать другие общие процедуры, которые не связаны с какими-либо событиями.
Соглашение об именовании объектов
В книге [1] и ряде других источников по Visual Basic при именовании объектов используется особое соглашение об именах, называемое венгерской нотацией. Суть его состоит в том, что имя объекта начинается с трехсимвольного префикса, одинакового для объектов одного и того же рода. Остальные символы в имени должны отображать назначение объекта. Такие имена объектов помогают понять их тип и назначение и делают программы более понятными. В таблице приведены префиксы для форм и основных элементов управления.
В программах, которые будут рассмотрены в будущем, указанные правила присвоения имен будут соблюдаться.
Имена событийных процедур
Имя событийной процедуры состоит из имени объекта и имени события, разделенных символом подчеркивания. Для элементов управления имя объекта — это свойство Name. Например, имя процедуры, которая соответствует щелчку пользователя на кнопке с именем Очистить, выглядит так:
Обращение к значению свойств элементов управления в процедуре происходит в виде
Вопросы и задания для проверки знаний5
2. В чем заключается особенность ООП?
3. Приведите примеры объектов, используемых в программах на языке Visual Basic.
5. Что определяют свойства форм и элементов управления? Как устанавливаются начальные значения свойств? Приведите несколько примеров свойств, значения которых могут быть установлены.
6. Приложения Visual Basic событийно управляемы. Что это значит? Приведите несколько примеров событий.
7. Для чего нужен код?
8. Что такое событийная процедура? Что она может делать?
9. В чем заключается правило именования свойств объектов?
10. Напишите оператор присваивания, который помещает текст Добрый день! в текстовое окно с именем txtСообщение.
11. В чем заключается правило именования событийных процедур?
12. Что такое венгерская нотация?
13. Рассмотрите следующий код:
Определите имена элементов управления, свойство и событие.
1. Summers Graeme. Programming with Visual Basic. Second Edition (Visual Basic version 6). Nelson, 1999.
2. Тимофеева Н.М. Как решать задачи? / “В мир информатики” № 67 (“Информатика” № 2/2006).
1 В ряде источников вместо названия Переключатель используется термин Радиокнопка. Вертикальную и горизонтальную полосы прокрутки не следует путать с аналогичными инструментами, имеющимися в программах Microsоft Word и др. В Visual Basic их назначение другое. — Ред.
2 Значения свойств объектов можно изменять также в ходе выполнения программы. — Ред.
3 Кроме функциональных клавиш, клавиш перемещения курсора и клавиш управления. — Ред.
4 Ее называют также процедурой обработки события. — Ред.
5 Ответы, пожалуйста, присылайте в редакцию. Фамилии всех приславших будут опубликованы, а лучшие ответы мы поощрим. — Ред.
sitesaid.ru
Создание сайта
Основы программирования на Visual Basic 6.0
Справочные данные Visual Basic 6.0
Поэтапное создания программ
Элементы программирования
Основы программирования
Программы нужны для выполнения компьютером какого-либо задания. Любые действия, выполняемые компьютером в программах, производятся над некоторыми объектами. По изменению состояния этих объектов можно судить о результатах данного действия. Одним из важнейших объектов в программе является ПЕРЕМЕННАЯ (это понятие в программировании имеет иной смысл, чем математике).
Понятие алгоритма
Алгоритм — это описание последовательности действий, выполнение которых необходимо для решения задачи. Практически в любой задаче имеются исходные данные, по которым нужно получить результат. Иначе говоря, алгоритм описывает последовательность действий, в результате выполнения которых на основании исходных данных получается требуемый результат.
Разработка алгоритма решения задачи осуществляется путем ее разбиения на шаги (или этапы), которые выполняются последовательно. При разработке алгоритма необходимо указать содержание всех шагов, а также порядок их выполнения. Если алгоритм грамотно разработан, то его выполнение можно поручить любому исполнителю, даже если он не знаком с поставленной задачей.
Точно следуя указанным в алгоритме шагам, исполнитель получит решение этой задачи.
Пример 1.4. Требуется вычислить произведение натуральных чисел от 1 до n (факториал): Р= 1×2×. ×n=n
Решение. При составлении алгоритма для решения данной задачи можно использовать алгоритмическую структуру цикл while, в качестве счетчика для которого будет использоваться переменная i. Перед началом цикла необходимо выполнить следующие операции:
i =1
P =1
После этого в цикле следует выполнить такие операторы:
P =P *1
i = i +1
По окончании цикла результат работы программы будет находиться в переменной Р.
Программа, реализующая этот алгоритм на естественном языке, приведена ниже.
1. ввод n
2. i = 1
З. Р = 1
4.если i > п, перейти на 8
5. Р = Р*i
6. i = i + I
7.перейти на 4
8.вывод Р
9.конец вычислений
Программа вычисления факториала в переводе с естественного языка программирования на язык Basic будет выглядеть следующим образом:
В рассматриваемой версии языка Basic каждый оператор пишется в отдельной строке. Количество пробелов и знаков табуляции между частями оператора не имеет значения. Справа от любого оператора можно записывать комментарии для него, поясняющие идею той или иной выполняемой операции. Перед началом комментария ставится апостроф.
В записи оператора строчные и прописные буквы равноценны, поэтому для повышения читаемости текста программы служебные слова обычно начинаются с прописной буквы. Чтобы расположить несколько операторов в одной строке, между ними ставится символ двоеточия. Например:
Input n : Р = 1
В случае необходимости расположения одного оператора на нескольких строках, следует в конце каждой строки ставить символ подчеркивания (используется в дальнейшем изложении материала). Например:
Объектно-ориентированное программирование (ООП).
При использовании ООП основными данными являются не переменные, а объекты. Рассмотрим пример для пояснения этого термина. Пусть необходимо написать программу, которая будет рисовать на экране круг какого-либо определенного цвета. Для этого нужно знать радиус, координаты центра, а также цвет, которым он будет закрашен. Если создавать программу стандартным способом, то понадобятся такие переменные:
R -радиус круга;
X, Y — координаты центра круга;
Соlоr — цвет круга.
Для того чтобы нарисовать этот круг на экране, нужна процедура, которую можно назвать Draw. Она будет изображать круг с заданными параметрами R, X, Y, Соlоr. Недостаток стандартного метода заключается в том, что данные в этом случае не являются взаимосвязанными.
Предположим, что нужно нарисовать не один, а три круга. При использовании стандартного метода программирования придется выбирать между двумя способами реализации этого примера. Первый способ — завести для каждого круга свой набор параметров R, X, Y, Соlоr, а затем вызывать процедуру Draw с каждым из этих наборов.
Недостаток данного способа очевиден: если нужно рисовать много кругов, то понадобится большое количество переменных. Это приведет к тому, что программа станет очень громоздкой. Второй способ заключается в том, чтобы для каждого нового круга задавать в программе свои значения параметров R, X, Y, Со1оr, но при этом значения параметров для предыдущего круга будут теряться.
Если в этой программе ограничиться изображением кругов, то недостаток второго способа не будет иметь значения. Но когда создается значительное по размеру приложение, то разработчику желательно представлять себе возможные изменения и дополнения, которые необходимо будет реализовать в будущем. В рассматриваемом примере с кругами возможно несколько изменений.
Предусмотреть возможность перемещения кругов по экрану в различных направлениях — процедура Моvе. Для того чтобы переместить круги на заданное расстояние в определенном направлении, пользователь не обязан знать его предыдущие координаты (точнее, координаты всех его cоставляющих). Поэтому параметрами процедуры Моvе должны быть относительные координаты перемещения, а не абсолютные. Иначе говоря, круги должны перемещаться относительно своего исходного положения.
Сделать возможным изменение цвета для всех кругов, из которых состоит — процедура ChangeColor. Для ее выполнения будут необходимы два параметра: имя изменяемого объекта-круга и новый цвет, которым он будет закрашен.
Если использовать второй способ (с малым количеством переменных), то реализация этих дополнительных возможностей представляется крайне затруднительной. Причина этого -отсутствие значений параметров для всех кругов, за исключением последнего, потому что при рисовании каждого последующего объекта процедура Draw должна вызываться с новыми значениями параметров.
Следовательно, когда круги будут нарисованы, то в переменных R, X, Y, Со1ог будут храниться значения параметров для последнего нарисованного объекта, а все остальные значения будут потеряны. Поэтому перемещение всех кругов, будет невозможно, следовательно, для данного примера второй способ неприемлем.
При использовании первого, более громоздкого метода, можно реализовать все предложенные дополнения, но при этом новые процедуры придется вызывать не один, а три раза — для каждого объекта. Если представить, что имеется несколько комплектов кругов, то для любого круга, входящего в состав каждого из них, должна быть предусмотрена возможность перемещения и изменения цвета. Очевидно, что реализация этих возможностей стандартными методами программирования приведет к значительному увеличению объема программы.
Наследование
Вернемся к рассматриваемому примеру с рисованием кругов. Представим круги в виде снеговика и надо верхний круг нарисовать с глазами, которые должны время от времени мигать. Все остальные свойства и методы у объектов-глаз должны быть такими же, как и у объектов-кругов, принадлежащих классу Round.
Иначе говоря, глаза тоже нужно перемещать по экрану вместе с остальными кругами, а также должна оставаться возможность изменения их цвета. Для реализации этого дополнения можно создать еще один класс — Еуеs (глаза), в котором будут те же свойства и методы, что и в Round, но еще будет добавлен метод Вlinк (мигание). Однако при этом придется для класса Еуеs заново создавать все свойства и методы, которые уже были описаны для Round.