Классы и объекты
Классы и объекты
Эта глава вместе с главами 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).