Классы и объекты C#: полиморфизм

Полиморфизм в объектно-ориентированном программировании, включая и C# — это, по-видимому, одно из самых мощнейших свойств, с которым мы будем очень часто встречаться на практике.  Если говорить максимально просто, то полиморфизм в ООП — это возможность использовать в классах-потомках методы и свойства предков. Используя полиморфизм, мы можем объявить переменную класса предка, однако присвоить ей значение (инициализировать объект) потомка.  Попробуем разобраться на примере.

Читать далее

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

С наследованием в C# мы разобрались и можно переходить к следующему «киту» объектно-ориентированного программирования — инкапсуляции. Инкапсуляция — это возможность (механизм) с помощью которой мы можем спрятать от конечного пользователя реализацию того или иного метода, устройства объекта и так далее и представить в пользование только то, что необходимо для работы, обеспечив тем самым целостность объекта. Опять же, определение может быть немного трудным для понимания, поэтому разберемся с ним подробнее и на примерах.

Читать далее

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

Наследование — это один из базовых принципов объектно-ориентированного программирования (ООП). Если попытаться найти более менее полное определение того, что из себя представляет наследование в ООП, то можно встретить, например, такое определение: «Наследование (англ. inheritance) — концепция объектно-ориентированного программирования, согласно которой абстрактный тип данных может наследовать данные и функциональность некоторого существующего типа, способствуя повторному использованию компонентов программного обеспечения.» На первый взгляд, может быть это определение непонятно, но мы с Вами не пишем академическую работу по наследованию в ООП, а учимся использовать механизмы наследования в C#, поэтому рассмотрим этот вопрос на практике.

Читать далее

Классы и объекты C#: ключевое слово static

На данный момент мы уже знаем достаточно много ключевых слов, в том числе и такие как private, public, internal и так далее, позволяющие указать уровень доступа членов класса. И, несмотря на то, что с ключевым словом static мы уже встречались не раз, однако, вся его мощь чувствуется именно при работе с классами в языке C#.

Читать далее

Классы и объекты C#: перегрузка методов

О том, что такое методы C# и как их создавать мы уже поговорили, научились создавать методы классов и использовать их для доступа к свойствам. Однако, иногда бывает необходимо создать создать более одного метода с одним и тем же именем, но различным набором параметров. В практике программирования такой подход называется перегрузкой методов (method overloading).

Читать далее

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

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

Читать далее

Классы и объекты C#

Язык C# является объектно-ориентированным языком программирования. Это значит, что любую программу (проект) на языке C# можно представить в виде одного или нескольких сущностей, которые могут взаимодействовать между собой. Понимание того, как объявить класс и наделить его определенными свойствами, создать и управлять объектами в C# можно считать одними из главных задач при изучении этого языка программирования. До сих пор мы хоть и использовали в изучении основ C# классы и объекты, но особо и не задумывались об этом, так как всё наше внимание было уделено изучению отдельных типов данных, которые можно назвать примитивными. Сегодня же мы начнем разбираться с такими пользовательскими типами данных как классы и научимся создавать пусть и простые, но объекты C#.

Читать далее