Структура (классическая) — это конструкция языка, позволяющая содержать в себе набор полей различных типов. struct MyStruct { int minute; static int second; } Структуры появились еще во времена процедурного программирования, когда еще не было ООП, созданы они были для удобства программирования. Применялись для группировки схожих по смыслу роду деятельности переменных. В структурах нельзя инициализировать поля […]
Индексаторы и массивы
Ковариантность это некий неявный Upcast каждого элемента массива. Контравариантность это некий неявный DownCast каждого элемента массива. Массивы элементов ссылочных типов ковариантны но, не контравариантные. Массивы элементов структурных типов не ковариантные и не контравариантные. Массив — именованный набор однотипных переменных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу. Типы массива являются […]
Абстрактный класс
Абстракция— это придание объекту характеристик, которые отличают его от всех других объектов, четко определяя его концептуальные границы. Абстрактный класс в объектно-ориентированном программировании — это базовый класс, который не предполагает создания экземпляров через вызов конструктора напрямую, но экземпляр абстрактного класса создается неявно при построении экземпляра производного конкретного класса. Ключевое слово abstract может использоваться с классами, методами, […]
Правила использования интерфейсов:
Интерфейс -это набор сигнатур методов, семантическая и синтаксическая конструкция в коде программы, используемая для специфицированния услуг, предоставляемых классом или компонентом. Интерфейс, своего рода стереотип, являющийся аналогом чистого абстрактного класса, в котором запрещена любая реализация. В имени интерфейса следует начинать с буквы I Это дает возможность другим программистам работающим с вашим кодом понять что это интерфейс. […]
Как подключить Диаграммы классов в Visual Studio 2017-2019?
Относительно не давно обновил студию, и к моему удивлению я не обнаружил в ней Диаграмм классов. Оказалось что их надо было выбирать при установки студии. Но обо всем по порядку. Диаграмма классов очень похожа на язык UML, но не путайте, это язык DSL— domain specific language это определенный архитектурный слой который описывает бизнес сущности и […]