Решения на основе компонентов имеют как положительные, так и отрицательные стороны. Одним из основных преимуществ является возможность создания приложе- ний "по частям". Идея такова: разработка программного обеспечения может выполняться по тем же принципам, что и изготовление каких-либо промышленных образцов, т.е. система создается в виде нескольких отдельных компонентов вместо единой монолитной конструкции.
Звучит заманчиво, но, подобно большинству грандиозных проектов, об этом легче сказать, чем сделать. В частности, это относится к более ранним версиям Visual Basic. Теоретически можно взять компонент, который выполняет те или иные действия, и заменить его другим, выполняющим те же действия. К сожалению, чаще всего этого не происходит.
В чем же причина? Чтобы улучшить качество функционирования, разработчики предпочитают использовать ранее связывание, что позволяет им связывать компоненты во время компиляции. В свою очередь, для того чтобы воспользоваться ран
... Читать дальше »
Сущность наследования выражается в том, что один класс, называемый подклассом (или дочерним классом), может быть создан на основе другого класса, который, в свою очередь, называется базовым (или родительским) классом. Наследование обеспечивает механизм для создания иерархий объектов. Например, собака (dog) принадлежит классу млекопитающих (mammal), а колли ( c o l l i e ) является представителем класса собак. Таким образом, класс dog наследует свойства и методы класса mammal, а класс c o l l i e , соответственно, наследует свойства и методы классов dog и mammal.
В объектно-ориентированном языке существует два типа связей между объектами иерархии — HasA (имеет) и IsA (является). Например, колли IsA собакой и HasA хвост. Реализация наследования является объектно-ориентированным свойством, поддерживающим связи типа IsA, и представляет собой еще один способ, используемый в VB.NET для поддержки полиморфизма. Функция может принимать параметр mammal, после чего объект, поро
... Читать дальше »
Сущность полиморфизма (polymorphism) заключается в том, что разные объекты могут иметь различные реализации одной и той же характеристики. В качестве примера рассмотрим два объекта, один из которых является автомобилем Porsche 911, а Другой — Toyota Corolla. Оба объекта — автомобили; т.е. оба происходят из класса Саг и содержат метод d r i v e . Но реализации методов, как видите, могут разительно отличаться друг от друга.
Судя по описанию, полиморфизм подобен инкапсуляции, но в то же время имеет некоторые существенные отличия. Инкапсуляция выражается в сокрытии внутренней реализации объекта. Полиморфизм, в свою очередь, проявляется в том, что различные классы могут иметь один и тот же интерфейс.
В Visual Basic 4.0 была реализована достаточно ограниченная поддержка полиморфизма, осуществленная с помощью динамического связывания. Динамическое или позднее связывание (late binding) представляет собой определенную технологию, позволяющую определять во время выполнения
... Читать дальше »
Объект должен скрывать детали своей реализации, открывая "внешнему миру" лишь методы и свойства. Инкапсуляция (encapsulation) представляет собой доступность свойств и методов объекта," в то время как сам объект фактически скрыт от внешнего мира. Другими словами, объект подобен "черному ящику", т.е. те разработчики, которые с ним работают, могут даже не знать о том, что в действительности происходит внутри данного объекта. Инкапсуляция позволяет разработчикам создавать объекты, которые могут быть из- менены без какого-либо воздействия на использующий их клиентский код. Самое главное в том, что интерфейс (interface) объекта, т.е. набор его доступных свойств и методов, не меняется даже при изменении внутренней реализации объекта. Visual Basic поддерживает инкапсуляцию начиная с версии 4.0. Рассмотрим два простых примера. В листингах 3.5 и 3.6 представлены две реализации класса Person, выполненные двумя различными способами.
ЛИСТИНГ 3.5. Первый способ реализации класс
... Читать дальше »
Абстрагирование (abstraction) — это возможность обобщения представлений объекта в виде типа данных, имеющего определенный набор характеристик и способного выполнить какой-либо набор действий. Например, абстрагирование объекта "собака" содержит характеристики c o l o r (цвет), height (рост) и weight (вес), а также набор действий, таких как run (бежать) и b i t e (кусать). В данном случае характеристики собаки называются свойствами {properties), а действия — методами (methods).
В объектно-ориентированных языках абстрагирование обеспечивается посредством классов (classes). Классы определяют свойства и методы объекта, но старайтесь не забывать о том, что разработчик не может использовать класс непосредственно; напротив, объект должен быть создан из класса — он должен быть реализован (instantiated).
В Visual Basic поддержка классов существует начиная с версии 4.0. Вплоть до появления VB.NET каждый класс был выполнен в виде отдельного файла, абстрагирующего данный объект. Пр
... Читать дальше »
За время своего существования Visual Basic превратился из объектного {object-based) в объектно-ориентированное (object-oriented) средство разработки. В ранних версиях Visual Basic некоторые ключевые особенности языка не были реализованы.
Предыдущие версии Visual Basic позволяли программистам создавать классы и использовать их при разработке приложений. При этом основные возможности объектно-ориентированного программирования практически не учитывались. Это не мешало разработчикам создавать надежные системы, формируемые на компонентной основе, однако препятствовало созда-
нию расширяемых конструкций.
К Visual Basic.NET это не относится. Объектно-ориентированное программирование в .NET Framework фактически является необходимым условием, поэтому Visual Basic превратился в многофункциональный объектно-ориентированный язык.
Новыми свойствами языка являются поддержка наследования, новые методы объявления объектов, а также возможности атрибутивного программ
... Читать дальше »
Обеспечивает многократное выполнение одной или нескольких операций. Описание.Цикл Do...Loop позволяет выполнять группу операций, пока заданное условие выполняется (While) или пока это условие не будет нарушено (Until). Синтаксис:
При проверке условия в начале цикла
Do [While | Until condition] [statements] [Exit Do] [statements] Loop При проверке условия в конце цикла Do [statements] [Exit Do] [statements] Loop [While | Until condition]
Аргументы: condition - условное выражение. Возвращает Значение недоступно.
Пример:
DimiAslnteger = 0 DoWhilei<5 Console.WriteLine(i) i+=1 Loop l = 0 Do Until i > 5 Console.WriteLJne(i) i = i+1 Loop
Программы, запускаемые из среды Windows, могут включать параметры командной строки или имена файлов, перетащенных на значок исполня- емого файла. Функция Command возвращает строку параметров, пере- данных файлу типа ЕХЕ. Этот пример извлекает строку параметров, пре- образует ее в массив с помощью функции Split() и выдает сообщение, в котором указано число переданных параметров. 1. Создайте новый проект Windows Application в Visual Basic. 2. Введите следующий код для события Load для главной формы:
Private Sub Form_Load() Dim fieldDelim As String = " Dim myCommands As String Dim myArgs() As String myCommands = Command() myArgs = myCommands.Split( _ fieldDelim.ToCharArray) МздВох("Исполняемому файлу был передано " & Umbound(myArgs) & _ " параметров") End Sub
3. Воспользуйтесь командой Build в меню Build, чтобы создать исполняе- мый файл.