Шрифт:
Второй принцип объектно-ориентированного программирования: детали наследования
Вызов конструкторов базового класса с помощью ключевого слова base
Хранение секретов семейства: ключевое слово protected
Добавление запечатанного класса
Наследование с типами записей (нововведение в версии 9.0)
Эквивалентность с унаследованными типами записей
Реализация модели включения/делегации
Определения вложенных типов
Третий принцип объектно-ориентированного программирования: поддержка полиморфизма в C#
Использование ключевых слов virtual и override
Переопределение виртуальных членов с помощью Visual Studio/Visual Studio Code
Запечатывание виртуальных членов
Абстрактные классы
Полиморфные интерфейсы
Сокрытие членов
Правила приведения для базовых и производных классов
Использование ключевого слова as
Использование ключевого слова is (обновление в версиях 7.0, 9.0)
Использование отбрасывания вместе с ключевым словом is (нововведение в версии 7.0)
Еще раз о сопоставлении с образцом (нововведение в версии 7.0)
Использование отбрасывания вместе с операторами switch (нововведение в версии 7.0)
Главный родительский класс: System.Object
Переопределение метода System.Object.ToString
Переопределение метода System.Object.Equals
Переопределение метода System.Object.GetHashCode
Тестирование модифицированного класса Person
Использование статических членов класса System.Object
Резюме
Глава 7
Ода ошибкам, дефектам и исключениям
Роль обработки исключений .NET
Строительные блоки обработки исключений в .NET
Базовый класс System.Exception
Простейший пример
Генерация общего исключения
Перехват исключений
Выражение throw (нововведение в версии 7.0)
Конфигурирование состояния исключения
Свойство TargetSite
Свойство StackTrace
Свойство HelpLink
Свойство Data
Исключения уровня системы (System.SystemException)
Исключения уровня приложения (Systern.ApplicationException)
Построение специальных исключений, способ первый
Построение специальных исключений, способ второй
Построение специальных исключений, способ третий
Обработка множества исключений
Общие операторы catch
Повторная генерация исключений
Внутренние исключения
Блок finally
Фильтры исключений
Отладка необработанных исключений с использованием Visual Studio
Резюме