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

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

Читать далее

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

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

Читать далее

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

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

Читать далее

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

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

Читать далее

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

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

Читать далее