Предисловие
Книга знакомит читателя с объектно-ориентированной парадигмой программирования (ООП). Основное внимание уделяется изложению общих для современных языков понятий и концепций.
Объектно-ориентированное программирование – одна из базовых дисциплин, входящая в программы подготовки специалистов по информационным технологиям. Книга адресована широкому кругу читателей, однако предполагает понимание архитектуры компьютера и основ программирования. Для чтения достаточно знакомства с любым современным языком на уровне процедурного программирования. ООП рассматривается на примере языка C#.
Вы можете найти немало книг и курсов по объектно-ориентированному программированию. Мы стремились представить максимально краткое, но полноценное систематическое введение в ООП, содержащее базовый объем теоретических и практических сведений, не отвлекаясь на второстепенные вопросы и частности языка.
Структура
Материал ориентирован на последовательное изучение, текст разбит на параграфы со сквозной нумерацией. В первом разделе – введении, мы рассматриваем концептуальное определение ООП. Второй и третий раздел посвящены поэтапному разбору основных элементов ООП. В заключении приведен краткий обзор объектно-ориентированных языков и рекомендации по дальнейшему изучению.
Термины и определения выделяются жирным курсивом и дублируются на английском. Фрагменты кода в тексте и листинги кода выделяются другим шрифтом.
Каждая глава снабжена перечнем вопросов и заданий. Задания повышенной сложности помечены звездочкой (*). Задания, требующие большего времени или некоторого опыта, помечены двумя звездочками (**).
Язык программирования C#
C# («си шарп») – современный широко распространенный объектно-ориентированный язык программирования. Основная область применения – серверное и клиентское программное обеспечение под операционную систему Windows. Последние годы разработчики языка предпринимают существенные усилия для обеспечения возможности полноценного применения языка и платформы .NET для разработки в операционных системах Linux.
В книге подробно разбирается синтаксис C#, относящийся к объектно-ориентированному программированию, но базовые возможности языка, такие как, встроенные типы данных, выражения, циклы, методы – не рассматриваются. Если вы впервые сталкиваетесь с языком C# имеет смысл прочитать вводные статьи об архитектуре .NET Framework (https://docs.microsoft.com/ru-ru/dotnet/csharp/getting-started/introduction-to-the-csharp-language-and-the-net-framework) и основах синтаксиса языка.
Также отметим, что мы намеренно почти не используем некоторые специфичные возможности C#, к примеру, свойства (properties), чтобы не отвлекать неподготовленного читателя от существа рассматриваемых вопросов.
Запуск примеров
Книга включает большое число примеров кода.
Рекомендуется использовать среду разработки Visual Studio (бесплатная версия – Community Edition) или JetBrains Rider. Все примеры кода можно выполнить в рамках консольного приложения. Если вы впервые сталкиваетесь с C#, рекомендуется сначала разобрать простейшее приложение «Hello World». Например, в вводной статье на сайте официальной документации (https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/inside-a-program/hello-world-your-first-program) приведено пошаговое описание действий от создания проекта до его запуска. Этих знаний будет достаточно, чтобы суметь запустить примеры из книги.
Самостоятельное изучение
Материал книги полностью подходит для самостоятельного изучения, однако в зависимости от вашей подготовки некоторые разделы могут оказаться слишком краткими. На этот случай мы старались представить максимальное число ссылок на источники, где дается более развернутое изложение материала. При первом знакомстве с объектно-ориентированным программированием рекомендуется последовательное освоение параграфов. Также следует внимательно отнестись к вопросам и заданиям, приведенным после каждой главы.
Преподавателю
Структура и объем материала книги соответствует курсу лекций по дисциплине «Объектно-ориентированное программирование» в объеме одного-двух семестров в зависимости от глубины изложения. При этом некоторые темы относятся к смежным дисциплинам и в зависимости от учебной программы могут оказаться уже рассмотренными ранее или запланированными к отдельному изучению позже.
Интернет
Актуальная электронная версия книги и дополнительные материалы размещены на веб-сайте автора newobj.ru/oop. Там же вы можете оставить критику и предложения.