Лабораторная работа по C#. Создание и реализация класса «Матрица MxN»

лабораторная работа C#

Задача: Создать класс «Матрица MxN». Реализовать инициализацию элементов матрицы случайными числами, вывод транспонированной матрицы, нахождение среднего арифметического всех элементов, а также вывод информации об объекте.

Читать далее

Разделяемые классы и методы в C# (ключевое слово partial)

В C# может использоваться такая возможность как разделяемые классы и методы. Суть разделяемого класса (или, как его ещё называют, частичного класса) состоит в том, что несколько частей одного и того же класса могут располагаться в разных файлах, но при компиляции все эти части будут собраны воедино. Рассмотрим основные моменты, связанные с использованием разделяемых классов и методов в C#.

Читать далее

Лабораторная работа по C#. Классы

лабораторная работа C#

Задача: создайте отдельный класс, соответствующий классу объектов из вашей предметной области (необходимо задать не менее 5 свойств для создаваемого класса). Добавьте метод для вывода описания объекта класса, используя метод ToString(). Этот метод должен в удобном для читателя виде перечислять все заданные значения свойств объекта класса.

Читать далее

Классы и объекты C#: класс System.Object

C#

Абсолютно все классы в .NET и C#, в частности, включая и те, которые мы создаем самостоятельно, а равно и базовые типы данных, такие как System.Int32, System.Double и так далее, неявно являются наследниками класса Object. В любом случае, даже если при создании своего класса мы не указываем класс Object в качестве родительского, то неявно по умолчанию класс Object стоит на вершине иерархии наследования. Исходя из этого, все типы данных и классы могут реализовать методы, определенные в классе System.Object.  Рассмотрим методы класса Object более подробно.

Читать далее

Классы и объекты C#: сокрытие методов и свойств

На данные момент нам известно как в C# работает перегрузка (overload) и переопределение (override) методов и свойств классов. Однако, на этом возможности C# по изменению функциональности базовых свойств и методов в классах не ограничиваются.  Также, одним из способов изменить функциональность метода или свойства, унаследованного от базового класса, является сокрытие (hiding или shadowing). И сегодня мы будем рассматривать именно этот вопрос — сокрытие методов и свойств классов в C#.

Читать далее

Классы и объекты C#: виртуальные методы и свойства

virtual

При использовании механизма наследовании в C# достаточно часто появляется необходимость изменить в классе-наследнике функционал метода, который был унаследован от предка (базового класса). Для этого, в C# класс-наследник может переопределять методы и свойства базового класса. Те методы или свойства, которые мы хотим сделать доступными для переопределения, в базовом классе помечается модификатором virtual. Такие методы и свойства обычно называют виртуальными.

Читать далее

Классы и объекты C#: перегрузка операторов и операций преобразования типов

overload

В одной из статей, посвященных работе в C#, мы рассматривали вопрос о перегрузке методов. Вместе с этим, в C# можно перегружать не только методы но и операторы, например, операторы сложения и вычитания, сравнения и так далее. Более того, мы можем сделать перегрузку операций преобразования типов. И сегодня мы рассмотрим некоторые практические примеры, когда нам может пригодиться такая возможность языка программирования C# как перегрузка операторов и операций преобразования типов.

Читать далее

Классы и объекты C#: преобразование типов, ключевые слова as и is

C# as is

На данный момент мы знаем как в C# работает наследование, как создавать потомков класса и их использовать в свих приложениях. Однако, при использовании механизмов наследования в C# (и не только) достаточно часто возникает необходимость преобразования типов объектов или же определить какой тип фактически использовался при создании какого-либо объекта в иерархии.

Читать далее

Классы и объекты C#: индексаторы

index, индексатор

Индексаторы в C# позволяют индексировать объекты и обращаться к данным по индексу точно также, как в массивах. По своей форме индексатор поход на свойство со стандартными блоками get и set, которые возвращают и присваивают значение. Сегодня разберемся с тем, как используются индексаторы в C#.

Читать далее

Классы и объекты C#: значение null

Классы в C#, как известно, относятся к ссылочным типам данных. Отличием ссылочных типов от типов значений состоит в том, что переменные ссылочных типов могут принимать значение null. Сегодня мы поговорим подробно про это значение в C# и о том, как можно осуществить проверку на null объектов C#.

Читать далее