Cамоучитель по VB.NET

http://www.specialauto.net/

Основы наследования


Gl5
Наследование и интерфейсыОсновы наследования Знакомство с наследованием Обращение к функциональности базового класса Переопределение свойств и методов Как стать начальником? Просмотр иерархии...
Основы наследования
Хотя наследование не является панацеей ООП и во многих ситуациях лучше воспользоваться интерфейсами, не стоит полагать, что без наследования можно как-нибудь обойтись. Наследование — замечательно...
Знакомство с наследованием
Начнем с повторения некоторых терминов. Класс, взятый за основу при определении нового класса, называется базовым классом. Класс, определяемый на основе базового класса, называется производным кла...
Обращение к функциональности базового класса
В VB .NET существует модификатор Protected, который автоматически предоставляет доступ из производных классов к соответствующему члену класса, будь то метод или переменная класса. Возникает иску...
Переопределение свойств и методов
В нашем примере, где программист автоматически получает 6-процентное повышение зарплаты вместо 5-процентного, необходимо изменить поведение метода RaiseSalary и отразить в нем автоматическую надб...
Как стать начальником?
Предположим, вы построили замечательную объектно-ориентированную систему учета кадров, в которой в полной мере используются все преимущества полиморфизма. А теперь попробуйте ответить на простой...
Просмотр иерархии наследования
С усложнением иерархии классов в программе на помощь приходит окно классов и Object Browser. Например, из окна классов на Рисунок 5.1 видно, что класс Programmer является производным от класса Em...
Иерархия наследования в окне классов
Объекты производных классов могут храниться в переменных базовых классов: Dim tom As New Programmer("Tom". 65000) Dim employeeOfTheMonth As Employee employeeOfTheMonth = torn В режи...
Полиморфизм на практике
Наследование часто помогает избавиться от громоздких конструкций Select Case и If-Then-Else, чтобы вся черновая работа выполнялась компилятором и механизмом полиморфизма. Например, цикл из следую...
Замещение
Термин «замещение» (shadowing) встречался и в ранних версиях VB, и в большинстве языков программирования. Локальная переменная, имя которой совпадает с именем переменной, обладающей более широкой...
Абстрактные базовые классы
На стадии проектирования наследственных связей в программе часто выясняется, что многие классы обладают целым рядом сходных черт. Например, внештатные сотрудники не относятся к постоянным работн...
Пример: класс CollectionBase
При использовании классов коллекций .NET Framework (таких, как ArrayList и HashTable) возникает неожиданная проблема: эти классы предназначены для хранения обобщенного типа Object, поэтому прочит...
Корневой базовый класс Object
Вся работа .NET Framework (а следовательно, и VB .NET) основана на том, что каждый тип является производным от корневого класса Object, общего предка всех классов (в ООП такие классы иногда назыв...
Основные методы класса Object
Поскольку класс Object является общим предком всех типов VB .NET, весьма вероятно, что вам придется часто использовать (или переопределять) методы этого класса. Основные методы Object описаны в н...
Equals и ReferenceEquals
В классе Object поддерживаются две версии Equals — общая и обычная. Общая версия имеет следующий синтаксис: Overloads Public Shared Function Equals(0bject. Object) As Boolean Пример использовани...
Метод ToString
Метод ToString возвращает представление текущего объекта в строковом формате. Вопрос о том, будет ли это представление удобным при отладке и для пользователей, зависит от реализации класса. По у...
Функция GetType и рефлексия
Каждый тип .NET Framework представлен объектом Туре. Класс Туре содержит множество методов со сложными именами — например, метод GetMembers возвращает информацию об именах всех методов заданного...
Информация о членах класса Windows.Forms.Form
В программировании, как и в современной науке: Клоном называется точная копия объекта. Состояние клона может измениться и стать отличным от состояния исходного объекта. Но самое важное правило...
Проблема неустойчивости базовых классов и контроль версии
Проблема несовместимости компонентов хорошо известна всем, кому доводилось программировать для Windows. Обычно она выступает в форме так называемого кошмара DLL (DLL Hell) — программа использует...
Интерфейсы
Вероятно, вы убедились в том, что наследование занимает важное место в VB .NET, но для полноценного использования объектно-ориентированных средств VB .NET вам также придется освоить реализацию и...
Механика реализации интерфейса
Во многих компаниях, занимающихся программированием (хотя бы в Microsoft), существует должность ведущего программиста или ведущего специалиста по тестированию. Предположим, вы решили расширить си...
Нетривиальное применение интерфейсов
Интерфейсы также могут объявляться производными от других интерфейсов. В этом случае интерфейс просто дополняется новыми членами. Предположим, в нашей системе учета кадров ведущим программистам...
Выбор между интерфейсами и наследованием
Хотя на первый взгляд интерфейсы чем-то напоминают базовые классы, от этой аналогии больше вреда, чем пользы. Абстрактный класс может содержать реализованные методы, а в интерфейсе они недопустим...
Важнейшие интерфейсы .NET Framework
Описать все интерфейсы .NET Framework на нескольких страницах невозможно, но хотя бы получить некоторое представление о них вполне реально. Интерфейсы ICloneable и IDisposable обладают особой дек...
ICloneable
Как было показано в разделе «MemberWiseClone», клонирование объекта, содержащего внутренние объекты, вызывает немало проблем. Разработчики .NET дают вам возможность сообщить о том, что данная воз...
IDisposable
Выше уже упоминалось о том, что метод Finalize не обеспечивает надежного освобождения ресурсов, не находящихся под управлением сборщика мусора. В программировании .NET у этой задачи существует об...
Коллекции
Коллекцией (collection) называется объект, предназначенный для хранения других объектов. Коллекция содержит методы для включения и удаления внутренних объектов, а также обращения к ним в разных...
For Each и интерфейс lEnumerable
Поддержка For-Each в классах VB6 была недостаточно интуитивной, а ее синтаксис воспринимался как нечто совершенно инородное (мы упоминали об этом в главе 1). В VB .NET существуют два способа орга...
ICollection
Интерфейс ICollection определяется производным от IEnumerable; он дополняет этот интерфейс тремя свойствами, доступными только для чтения, и одним новым методом. Класс ICollection редко реализуе...
Таблица 5.2. Члены интерфейса
Интерфейс ICollection реализуется классом System.Collections.CollectionBase....
IList Интерфейс IList обеспечивает
Clear (метод) Удаляет все элементы из списка Contains (ByVal value As Object) As Boolean (метод) Метод предназначен для проверки наличия в списке заданного значения. Эффективная реализация...
IComparable
Предположим, коллекцию объектов Employee потребовалось отсортировать по заработной плате. Конечно, операцию сортировки было бы удобно реализовать непосредственно в классе Emplоуее, чтобы сортиров...
Сортировка по нестандартному критерию с использованием IComparable Интерфейс IComparer
.NET Framework позволяет выполнять сортировку по нескольким критериям. Например, чтобы упорядочить массив работников сначала по заработной плате, а затем по имени (в группах с одинаковой зарплато...
Menu_gl5
Глава 5. Наследование и интерфейсы Основы наследования Знакомство с наследованием Обращение к функциональности базового класса Переопределение свойств и методов Как стать начальником? Просм...








- Начало -    


Книжный магазин