Please enable JavaScript.
Coggle requires JavaScript to display documents.
Глава 5. Наследование и полиморфизм - Coggle Diagram
Глава 5. Наследование и полиморфизм
Наследование
В C# отношение специализации обычно реализуется через наследование, где производный класс наследует характеристики и поведение базового класса
Полиморфизм
Создание полиморфных типов
создание полиморфных методов
Создание версий с помощью ключевых слов new и override
Специализация и обобщение
Отношения специализации и обобщения в C# отражают иерархию, где более общий тип обобщает характеристики и поведение более специализированных типов
Абстрактные классы
Абстрактные методы в C# не имеют реализации и требуют реализации в производных классах, делая их обязательными для каждого подкласса.
Абстрактные классы нельзя инстанцировать, и если класс содержит абстрактные методы, он сам становится абстрактным.
Корень всех классов -
класс Object
В C# все классы, включая размерные типы, наследуются от базового класса System.Object.
Класс Object предоставляет методы, такие как Equals(), GetType() и ToString(), которые могут быть переопределены в производных классах
Упаковка и распаковка типов
Упаковка (boxing) и распаковка (unboxing) – это процессы, позволяющие трактовать размерные типы (например целочисленные) как ссылочные типы (объекты)
Упаковка происходит неявно
Распаковка должна быть явной
Вложенные классы
Вложенные классы могут быть использованы как вспомогательные, имея доступ ко всем элементам внешнего класса
Классы могут содержать члены, которые являются типами, определенными пользователем