Читаем Язык программирования C#9 и платформа .NET5 полностью

Глава начиналась с исследования массивов. Затем обсуждались ключевые слова С#, которые позволяют строить специальные методы. Вспомните, что по умолчанию параметры передаются по значению; тем не менее, параметры можно передавать и по ссылке, пометив их модификаторами ref или out. Кроме того, вы узнали о роли необязательных и именованных параметров, а также о том, как определять и вызывать методы, принимающие массивы параметров.

После рассмотрения темы перегрузки методов в главе приводились подробные сведения, касающиеся способов определения перечислений и структур в C# и их представления в библиотеках базовых классов .NET Core. Попутно рассматривались основные характеристики типов значений и ссылочных типов, включая их поведение при передаче в качестве параметров методам, а также способы взаимодействия с типами данных, допускающими null, и переменными, которые могут иметь значение null (например, переменными ссылочных типов и переменными типов значений, допускающих null), с использованием операций ?, ?? и ??=.

Финальный раздел был посвящен давно ожидаемому средству в языке C# — кортежам. После выяснения, что они собой представляют и как работают, кортежи применялись для возвращения множества значений из методов и для деконструирования специальных типов. В главе 5 вы начнете погружаться в детали объектно-ориентированного программирования.

<p id="AutBody_Root204">Часть III</p><p>Объектно-ориентированное программирование на C#</p><p id="AutBody_Root205">Глава 5</p><p>Инкапсуляция</p>

В главах 3 и 4 было исследовано несколько основных синтаксических конструкций, присущих любому приложению .NET Core, которое вам придется разрабатывать. Начиная с данной главы, мы приступаем к изучению объектно-ориентированных возможностей языка С#. Первым, что вам предстоит узнать, будет процесс построения четко определенных типов классов, которые поддерживают любое количество конструкторов. После введения в основы определения классов и размещения объектов остаток главы будет посвящен теме инкапсуляции. В ходе изложения вы научитесь определять свойства классов, а также ознакомитесь с подробными сведениями о ключевом слове static, синтаксисе инициализации объектов, полях только для чтения, константных данных и частичных классах.

<p id="AutBody_Root206">Знакомство с типом класса C#</p>

С точки зрения платформы .NET Core наиболее фундаментальной программной конструкцией является тип класса. Формально класс — это определяемый пользователем тип, состоящий из полей данных (часто называемых переменными-членами) и членов, которые оперируют полями данных (к ним относятся конструкторы, свойства, методы, события и т.д.). Коллективно набор полей данных представляет "состояние" экземпляра класса (также известного как объект). Мощь объектно-ориентированных языков, таких как С#, заключается в том, что за счет группирования данных и связанной с ними функциональности в унифицированное определение класса вы получаете возможность моделировать свое программное обеспечение в соответствии с сущностями реального мира.

Для начала создайте новый проект консольного приложения C# по имени SimpleClassExample. Затем добавьте в проект новый файл класса (Car.cs). Поместите в файл Car.cs оператор using и определите пространство имен, как показано ниже:

using System;

namespace SimpleClassExample

{

}

На заметку! В приводимых далее примерах определять пространство имен строго обязательно. Однако рекомендуется выработать привычку использовать пространства имен во всем коде, который вы будете писать. Пространства имен подробно обсуждались в главе 1.

Класс определяется в C# с применением ключевого слова class. Вот как выглядит простейшее объявление класса (позаботьтесь о том, чтобы объявление класса находилось внутри пространства имен SimpleClassExample):

class Car

{

}

После определения типа класса необходимо определить набор переменных-членов, которые будут использоваться для представления его состояния. Например, вы можете принять решение, что объекты Car (автомобили) должны иметь поле данных типа int, представляющее текущую скорость, и поле данных типа string для представления дружественного названия автомобиля. С учетом таких начальных проектных положений класс Car будет выглядеть следующим образом:

class Car

{

  // 'Состояние' объекта Car.

  public string petName;

  public int currSpeed;

}

Обратите внимание, что переменные-члены объявлены с применением модификатора доступа public. Открытые (public) члены класса доступны напрямую после того, как создан объект этого типа. Вспомните, что термин объект используется для описания экземпляра заданного типа класса, который создан с помощью ключевого слова new.

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT