Иллюстрированный самоучитель по VB.NET

       

Классы и объекты


Классы и объекты

  • Введение в ООП
  • Классы как пользовательские типы
  • Как объекты взаимодействуют друг с другом?
  • Терминология ООП
  • Отношения между классами в программах
  • Абстракция
  • Инкапсуляция
  • Наследование
  • Полиморфизм
  • Переход к использованию объектов
  • Экземпляры
  • Преимущества ООП


  • Создание объектов в VB .NET
  • Параметризованные конструкторы
  • Пример: класс String
  • Пример: класс String Builder
  • Хронометраж — насколько быстрее работает класс StringBuilder?
  • Пространства имен
  • Импортирование

  • Класс Directorylnfo
  • Справочная система и .NET Framework
  • Классы коллекций в .NET Framework
  • ArrayList
  • Хэш-таблицы
  • Объектные переменные
  • Is и Nothing
  • TypeName и TypeOf
  • Проблемы с передачей объектных переменных по значению
  • Определение классов в программе
  • Атрибуты уровня доступа и создание объектов
  • Me
  • Перегрузка членов класса
  • Снова о конструкторах
  • Снова о свойствах
  • Свойства и инкапсуляция
  • Область видимости переменных
  • Вложенные классы
  • Практическое использование вложенных классов на примере связанного списка
  • Общие данные в классах
  • Общие члены классов
  • Жизненный цикл объекта
  • Уничтожение объектов
  • Структурные типы
  • Перечисляемые типы
  • Структуры
  • Определение структур в программе
  • Пространства имен для создаваемых классов
  • Окно классов
  • Отладка объектно-ориентированных программ
  • Итоги
  • Эта глава вместе с главами 5 и 6 занимает центральное место в книге. Причины просты: язык VB .NET стал первой объектно-ориентированной версией VB, и тот, кто недостаточно хорошо разбирается в ООП, не сможет в полной мере использовать новые возможности VB .NET. Вероятно, это утверждение вас удивило — ведь возможность определения классов и создания объектов на их основе появилась еще в VB4. Чем же VB .NET так отличается от своих предшественников, что вам придется полностью переосмыслить свой стиль программирования? Развернутый ответ на этот вопрос приводится в этих трех главах.

    За время преподавательской работы у нас сложилось впечатление, что большинство программистов VB почти не использовали средства ООП в предыдущих версиях Visual Basic.
    Это объяснялось как неудобной и плохо проработанной реализацией ООП, так и тем, что многие программисты не понимали, как правильно применять средства объектно-ориентированного программирования. Усовершенствования в VB .NET покончили с первой проблемой. Что касается второй... Что же, именно поэтому эта глава начинается с краткого курса ООП. Как бы вы к этому не относились, нормальное программирование в VB .NET возможно лишь при полноценном использовании объектной природы этого языка. В главах 4-6 ООП рассматривается с практической точки зрения программиста VB .NET, без углубленного изучения теоретических тонкостей. Особое внимание уделяется практическим примерам и приемам, используемым при решении реальных задач. Мы постараемся обойтись без высоких материй, поскольку чрезмерное обилие деталей только отвлечет читателя от основной темы — если вас интересует теория, вы найдете ее в десятках книг, посвященных ООП. Тем не менее в ООП используется достаточно специфическая терминология, поэтому мы начнем с обсуждения важнейших концепций и терминов (читатели, хорошо разбирающиеся в ООП, могут пропустить вводную часть).

    На следующем этапе рассматривается использование существующих классов и объектов, созданных на их основе. В частности, мы покажем, как использовать важный класс StringBuilder и некоторые новые классы коллекций .NET Framework (в том числе хэш-таблицы и динамические массивы). Вы узнаете о некоторых тонкостях, связанных с передачей объектов функциям и процедурам. Только после этого мы перейдем к определению новых классов и построению объектов на их основе (хотя в этой главе приводятся начальные сведения о наследовании и интерфейсах, подробное описание этих ключевых концепций ООП откладывается до главы 5).

    Несмотря на внешние различия, с позиций ООП языки С# и VB .NET очень похожи, по-этому хорошее знание материала глав 4 и 5 упростит переход на С# и Java.




    Содержание раздела