0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Определение</a></li>
1
<ul><li><a>Определение</a></li>
2
<li><a>Принципы</a><ul><li><a>Инкапсуляция</a></li>
2
<li><a>Принципы</a><ul><li><a>Инкапсуляция</a></li>
3
<li><a>Наследование</a></li>
3
<li><a>Наследование</a></li>
4
<li><a>Абстракция</a></li>
4
<li><a>Абстракция</a></li>
5
<li><a>Полиморфизм</a></li>
5
<li><a>Полиморфизм</a></li>
6
</ul></li>
6
</ul></li>
7
<li><a>Преимущества и недостатки</a></li>
7
<li><a>Преимущества и недостатки</a></li>
8
<li><a>Языки ООП</a></li>
8
<li><a>Языки ООП</a></li>
9
<li><a>Классы и объекты на примере Java</a><ul><li><a>Понятие объектов</a></li>
9
<li><a>Классы и объекты на примере Java</a><ul><li><a>Понятие объектов</a></li>
10
<li><a>Понятие классов</a></li>
10
<li><a>Понятие классов</a></li>
11
<li><a>Классовый синтаксис</a></li>
11
<li><a>Классовый синтаксис</a></li>
12
<li><a>Методы</a></li>
12
<li><a>Методы</a></li>
13
</ul></li>
13
</ul></li>
14
</ul><p>Парадигм разработки очень много. Каждая из них используется для решения определенных задач по созданию программного обеспечения. Парадигма - это некоторый набор критериев и правил, которые должны соблюдаться программистами в процессе написания исходного кода.</p>
14
</ul><p>Парадигм разработки очень много. Каждая из них используется для решения определенных задач по созданию программного обеспечения. Парадигма - это некоторый набор критериев и правил, которые должны соблюдаться программистами в процессе написания исходного кода.</p>
15
<p>С их помощью удается стандартизировать разработку, снижать риск возникновения ошибок, ускорять программирование. Исходный код за счет применения парадигм становится более читабельным.</p>
15
<p>С их помощью удается стандартизировать разработку, снижать риск возникновения ошибок, ускорять программирование. Исходный код за счет применения парадигм становится более читабельным.</p>
16
<p>Одной из самых популярных концепций в 21 веке стала объектно-ориентированная разработка. Далее предстоит изучить ее основы, области применения, а также преимущества и недостатки. Особое внимание необходимо уделить объектам и классам.</p>
16
<p>Одной из самых популярных концепций в 21 веке стала объектно-ориентированная разработка. Далее предстоит изучить ее основы, области применения, а также преимущества и недостатки. Особое внимание необходимо уделить объектам и классам.</p>
17
<p>Предложенная информация ориентирована на широкую публику. Она поможет как обычным пользователям, так и будущим IT-специалистам понять, что собой представляет ООП.</p>
17
<p>Предложенная информация ориентирована на широкую публику. Она поможет как обычным пользователям, так и будущим IT-специалистам понять, что собой представляет ООП.</p>
18
<h2>Определение</h2>
18
<h2>Определение</h2>
19
<p>Объектно-ориентированное программирование - популярная парадигма разработки. Она предусматривает организацию программного кода, опираясь на данные и объекты. Функции и разнообразные логические структуры здесь отходят на второй план.</p>
19
<p>Объектно-ориентированное программирование - популярная парадигма разработки. Она предусматривает организацию программного кода, опираясь на данные и объекты. Функции и разнообразные логические структуры здесь отходят на второй план.</p>
20
<p>ООП - методология программирования, опирающаяся на представление программного обеспечения в виде совокупности взаимодействующих друг с другом объектов. Каждый из них - это экземпляр того или иного класса. Классы в ООП образовывают иерархию наследования.</p>
20
<p>ООП - методология программирования, опирающаяся на представление программного обеспечения в виде совокупности взаимодействующих друг с другом объектов. Каждый из них - это экземпляр того или иного класса. Классы в ООП образовывают иерархию наследования.</p>
21
<p>В объектно-ориентированной разработке каждый объект представляет собой некую сущность с определенными данными и набором (спектром) определенных действия.</p>
21
<p>В объектно-ориентированной разработке каждый объект представляет собой некую сущность с определенными данными и набором (спектром) определенных действия.</p>
22
<h2>Принципы</h2>
22
<h2>Принципы</h2>
23
<p>В разработке программного обеспечения с применением ООП соблюдаются некоторые принципы. Данная парадигма предусматривает:</p>
23
<p>В разработке программного обеспечения с применением ООП соблюдаются некоторые принципы. Данная парадигма предусматривает:</p>
24
<ul><li>инкапсуляцию;</li>
24
<ul><li>инкапсуляцию;</li>
25
<li>наследование;</li>
25
<li>наследование;</li>
26
<li>абстракцию;</li>
26
<li>абстракцию;</li>
27
<li>полиморфизм.</li>
27
<li>полиморфизм.</li>
28
</ul><p>Каждый принцип будет рассмотрен более подробно. С их помощью удастся быстрее разобраться с классами и объектами.</p>
28
</ul><p>Каждый принцип будет рассмотрен более подробно. С их помощью удастся быстрее разобраться с классами и объектами.</p>
29
<h3>Инкапсуляция</h3>
29
<h3>Инкапсуляция</h3>
30
<p>Все данные, необходимые для работы одного конкретного объекта, должны храниться внутри этого самого объекта. Если требуется вносить изменения, методы для реализации задачи тоже помещаются в задействованный объект. Посторонние классы и объекты ничего подобного сделать не смогут. Для внешних объектов становятся доступны только публичные атрибуты и методы.</p>
30
<p>Все данные, необходимые для работы одного конкретного объекта, должны храниться внутри этого самого объекта. Если требуется вносить изменения, методы для реализации задачи тоже помещаются в задействованный объект. Посторонние классы и объекты ничего подобного сделать не смогут. Для внешних объектов становятся доступны только публичные атрибуты и методы.</p>
31
<p>Инкапсуляция позволяет обеспечить безопасность и не дает повредить данные внутри класса извне. Этот принцип позволяет избегать образования случайных зависимостей - когда из-за внесения корректировок в один объект что-нибудь ломается в другом.</p>
31
<p>Инкапсуляция позволяет обеспечить безопасность и не дает повредить данные внутри класса извне. Этот принцип позволяет избегать образования случайных зависимостей - когда из-за внесения корректировок в один объект что-нибудь ломается в другом.</p>
32
<h3>Наследование</h3>
32
<h3>Наследование</h3>
33
<p>Принцип наследования - это основная суть объектно-ориентированной разработки. Программист сможет создать:</p>
33
<p>Принцип наследования - это основная суть объектно-ориентированной разработки. Программист сможет создать:</p>
34
<ul><li>класс с теми или иными параметрами (свойствами);</li>
34
<ul><li>класс с теми или иными параметрами (свойствами);</li>
35
<li>подкласс на его основе, который берет свойства определенного класса и добавляет свои;</li>
35
<li>подкласс на его основе, который берет свойства определенного класса и добавляет свои;</li>
36
<li>объект подкласса, копирующий его свойства и добавляющий дополнительные (новые).</li>
36
<li>объект подкласса, копирующий его свойства и добавляющий дополнительные (новые).</li>
37
</ul><p>При наследовании дочерним элементом методов и атрибутов, прописанных в родительском, он сможет использовать их в полном объеме или частично. Предусматривается также возможность добавления совершенно новых параметров. Заново прописывать атрибуты и методы в программном коде не придется.</p>
37
</ul><p>При наследовании дочерним элементом методов и атрибутов, прописанных в родительском, он сможет использовать их в полном объеме или частично. Предусматривается также возможность добавления совершенно новых параметров. Заново прописывать атрибуты и методы в программном коде не придется.</p>
38
<p>Чтобы лучше понять принцип наследования, рекомендуется рассмотреть один простой пример из жизни. Пусть будет создан абстрактный класс с названием "Средство передвижения". У него есть возможность набора скорости и транспортировки людей.</p>
38
<p>Чтобы лучше понять принцип наследования, рекомендуется рассмотреть один простой пример из жизни. Пусть будет создан абстрактный класс с названием "Средство передвижения". У него есть возможность набора скорости и транспортировки людей.</p>
39
<p>Из этого класса формируется подкласс "Автобус". Он наследует базовые характеристики и уточняет их определенным количеством мест для пассажиров, а также пределом доступной скорости передвижения.</p>
39
<p>Из этого класса формируется подкласс "Автобус". Он наследует базовые характеристики и уточняет их определенным количеством мест для пассажиров, а также пределом доступной скорости передвижения.</p>
40
<p>Теперь можно сформировать объект "Икарус". Он получит более конкретную скорость, планировку, количество дверей, тип сигнала и другие специфичные параметры транспортного средства.</p>
40
<p>Теперь можно сформировать объект "Икарус". Он получит более конкретную скорость, планировку, количество дверей, тип сигнала и другие специфичные параметры транспортного средства.</p>
41
<p>В программировании для формирования перечисленных элементов не придется каждый раз писать класс/объект с нуля. Достаточно воспользоваться специальной конструкцией. Вот один из ее примеров:</p>
41
<p>В программировании для формирования перечисленных элементов не придется каждый раз писать класс/объект с нуля. Достаточно воспользоваться специальной конструкцией. Вот один из ее примеров:</p>
42
<p>Чтобы завершить наследование, необходимо дополнить соответствующую конструкцию конкретикой.</p>
42
<p>Чтобы завершить наследование, необходимо дополнить соответствующую конструкцию конкретикой.</p>
43
<h3>Абстракция</h3>
43
<h3>Абстракция</h3>
44
<p>Каждый верхний слой над объектом (классы) более абстрактный, чем его "младшая" версия. Такая концепция позволяет не переписывать по 10 раз один и тот же объект, ссылаясь на одни и те же атрибуты и методы.</p>
44
<p>Каждый верхний слой над объектом (классы) более абстрактный, чем его "младшая" версия. Такая концепция позволяет не переписывать по 10 раз один и тот же объект, ссылаясь на одни и те же атрибуты и методы.</p>
45
<p>Абстрактные классы дают возможность создания более конкретных классов и вытекающих из них объектов. Описывать реализацию функций заранее не придется (в этом заключается вся суть абстракций). Оставлять в коде при описании более конкретных классов можно, оставляя лишь базовый шаблон. В нем "выставляются" дальнейшие настройки.</p>
45
<p>Абстрактные классы дают возможность создания более конкретных классов и вытекающих из них объектов. Описывать реализацию функций заранее не придется (в этом заключается вся суть абстракций). Оставлять в коде при описании более конкретных классов можно, оставляя лишь базовый шаблон. В нем "выставляются" дальнейшие настройки.</p>
46
<p>Абстрактный класс всегда выступает в качестве публичного. Он не должен содержать никаких реализаций методов. Это ключевое отличие соответствующего компонента от дочерних классов.</p>
46
<p>Абстрактный класс всегда выступает в качестве публичного. Он не должен содержать никаких реализаций методов. Это ключевое отличие соответствующего компонента от дочерних классов.</p>
47
<h3>Полиморфизм</h3>
47
<h3>Полиморфизм</h3>
48
<p>Полиморфизм - еще один важный принцип ООП. С его помощью можно использовать одни и те же методы для обработки совершенно разных типов данных. Полиморфизм в разных языках программирования будет отличаться в плане реализации. Есть строго типизированные ЯП, где используется "перегрузка", а есть языки вроде JavaScript, в которых по умолчанию функции могут обрабатывать разные типы данных без их предварительного указания в исходном коде.</p>
48
<p>Полиморфизм - еще один важный принцип ООП. С его помощью можно использовать одни и те же методы для обработки совершенно разных типов данных. Полиморфизм в разных языках программирования будет отличаться в плане реализации. Есть строго типизированные ЯП, где используется "перегрузка", а есть языки вроде JavaScript, в которых по умолчанию функции могут обрабатывать разные типы данных без их предварительного указания в исходном коде.</p>
49
<p>С помощью полиморфизма удается за счет идентичных методов обрабатывать разные типы данных. Примерами могут послужить двузначные числа и числа с плавающей запятой. Полиморфизмом также называется возможность переопределять методы в дочерних классах для обработки других видов информации или выполнения дополнительных операций в процессе вызова аналогичного метода.</p>
49
<p>С помощью полиморфизма удается за счет идентичных методов обрабатывать разные типы данных. Примерами могут послужить двузначные числа и числа с плавающей запятой. Полиморфизмом также называется возможность переопределять методы в дочерних классах для обработки других видов информации или выполнения дополнительных операций в процессе вызова аналогичного метода.</p>
50
<h2>Преимущества и недостатки</h2>
50
<h2>Преимущества и недостатки</h2>
51
<p>Объектно-ориентированное программирование - популярный подход к разработке программного обеспечения. Эта парадигма имеет свои преимущества и недостатки. К сильным сторонам ООП принято относить следующие особенности:</p>
51
<p>Объектно-ориентированное программирование - популярный подход к разработке программного обеспечения. Эта парадигма имеет свои преимущества и недостатки. К сильным сторонам ООП принято относить следующие особенности:</p>
52
<ol><li>Относительно простое написание программного кода. Можно создать класс или метод всего один раз, а затем применять его на практике. Повторно переписывать целые блоки кода нет никакой необходимости.</li>
52
<ol><li>Относительно простое написание программного кода. Можно создать класс или метод всего один раз, а затем применять его на практике. Повторно переписывать целые блоки кода нет никакой необходимости.</li>
53
<li>Высокий уровень читаемости кода. Разобраться в программе, написанной посторонним человеком, будет проще. В коде сразу просматриваются конкретные методы и объекты, их очень удобно искать для просмотра дальнейшего влияния на приложение.</li>
53
<li>Высокий уровень читаемости кода. Разобраться в программе, написанной посторонним человеком, будет проще. В коде сразу просматриваются конкретные методы и объекты, их очень удобно искать для просмотра дальнейшего влияния на приложение.</li>
54
<li>Более простое обновление кода. Для изменения класса или метода по всему коду достаточно внести изменения в одном месте. Переписывать часть приложения не придется, как и отдельно корректировать объекты.</li>
54
<li>Более простое обновление кода. Для изменения класса или метода по всему коду достаточно внести изменения в одном месте. Переписывать часть приложения не придется, как и отдельно корректировать объекты.</li>
55
<li>Простая работа в команде разработчиков. Концепция ООП подойдет тем, кто планирует трудиться над проектом целой командой. Разные программисты смогут отвечать за разные объекты программы и пользоваться трудами своих коллег.</li>
55
<li>Простая работа в команде разработчиков. Концепция ООП подойдет тем, кто планирует трудиться над проектом целой командой. Разные программисты смогут отвечать за разные объекты программы и пользоваться трудами своих коллег.</li>
56
<li>Возможность повторного использования кода. Прописанный один раз класс или объект можно переносить в различные сторонние проекты. Это благоприятно сказывается на скорости разработки программного обеспечения.</li>
56
<li>Возможность повторного использования кода. Прописанный один раз класс или объект можно переносить в различные сторонние проекты. Это благоприятно сказывается на скорости разработки программного обеспечения.</li>
57
<li>Наличие шаблонов проектирования. На базе объектно-ориентированного программирования построены готовые решения для взаимодействия классов друг с другом. Данная концепция позволяет не писать весь код с нуля, а воспользоваться готовым шаблоном.</li>
57
<li>Наличие шаблонов проектирования. На базе объектно-ориентированного программирования построены готовые решения для взаимодействия классов друг с другом. Данная концепция позволяет не писать весь код с нуля, а воспользоваться готовым шаблоном.</li>
58
</ol><p>К недостаткам относят:</p>
58
</ol><p>К недостаткам относят:</p>
59
<ol><li>Сложность освоения. Объектно-ориентированное программирование - самая сложная методология написания программ. Для разработки приложений с применением ООП придется выучить больше информации, чем с функциональным программированием. Из-за этого данная концепция тяжела для освоения новичками. Разработчику предстоит разобраться в классах и объектах, наследовании, принципах написания публичных и внутренних функций, а также рассмотреть различные способы взаимодействия объектов друг с другом. Новичкам, которые раньше вообще не имели дел с программированием, придется сильно постараться для достижения успехов в ООП.</li>
59
<ol><li>Сложность освоения. Объектно-ориентированное программирование - самая сложная методология написания программ. Для разработки приложений с применением ООП придется выучить больше информации, чем с функциональным программированием. Из-за этого данная концепция тяжела для освоения новичками. Разработчику предстоит разобраться в классах и объектах, наследовании, принципах написания публичных и внутренних функций, а также рассмотреть различные способы взаимодействия объектов друг с другом. Новичкам, которые раньше вообще не имели дел с программированием, придется сильно постараться для достижения успехов в ООП.</li>
60
<li>Громоздкость. Там, где функциональное программирование позволяет уместить код в одну строчку (команду), ООП требует создания классов, объектов, методов и атрибутов. В случае с крупными проектами такая концепция - это преимущество, но в маленьких программах исходный код начинает смотреться громоздко. Новичков такая реализация отталкивает.</li>
60
<li>Громоздкость. Там, где функциональное программирование позволяет уместить код в одну строчку (команду), ООП требует создания классов, объектов, методов и атрибутов. В случае с крупными проектами такая концепция - это преимущество, но в маленьких программах исходный код начинает смотреться громоздко. Новичков такая реализация отталкивает.</li>
61
<li>Низкий уровень производительности. Объекты будут отнимать у устройства значительно больше памяти, чем простые функции и переменные. Все это сказывается на скорости компиляции исходного кода. В небольших программах данный недочет почти незаметен, чего нельзя сказать о крупных и сложных проектах.</li>
61
<li>Низкий уровень производительности. Объекты будут отнимать у устройства значительно больше памяти, чем простые функции и переменные. Все это сказывается на скорости компиляции исходного кода. В небольших программах данный недочет почти незаметен, чего нельзя сказать о крупных и сложных проектах.</li>
62
</ol><p>Ключевая функция объектно-ориентированной разработки - облегчение написания сложных программ, над которыми трудятся целые команды программистов.</p>
62
</ol><p>Ключевая функция объектно-ориентированной разработки - облегчение написания сложных программ, над которыми трудятся целые команды программистов.</p>
63
<h2>Языки ООП</h2>
63
<h2>Языки ООП</h2>
64
<p>Объектно-ориентированное программирование поддерживается большинством современных языков. Некоторые из них больше подходят для применения парадигмы за счет наличия удобных инструментов для работы с объектами и классами.</p>
64
<p>Объектно-ориентированное программирование поддерживается большинством современных языков. Некоторые из них больше подходят для применения парадигмы за счет наличия удобных инструментов для работы с объектами и классами.</p>
65
<p>Вот наиболее распространенные и успешные языки программирования, использующие концепции ООП:</p>
65
<p>Вот наиболее распространенные и успешные языки программирования, использующие концепции ООП:</p>
66
<ol><li>C++. Язык со статической типизацией. Относится к инструментам разработки общего назначения. В нем активно применяются концепции объектно-ориентированного программирования. Это универсальный кроссплатформенный ЯП, который используется при написании операционных систем, драйверов, служб, игр и обычных программ. Имеет достаточно сложный синтаксис, зато поддерживает высокий уровень производительности. Рекомендован для изучения всеми программистами, заинтересованными в кроссплатформенной разработке программного обеспечения.</li>
66
<ol><li>C++. Язык со статической типизацией. Относится к инструментам разработки общего назначения. В нем активно применяются концепции объектно-ориентированного программирования. Это универсальный кроссплатформенный ЯП, который используется при написании операционных систем, драйверов, служб, игр и обычных программ. Имеет достаточно сложный синтаксис, зато поддерживает высокий уровень производительности. Рекомендован для изучения всеми программистами, заинтересованными в кроссплатформенной разработке программного обеспечения.</li>
67
<li>Ruby - высокоуровневый язык программирования. Поддерживает динамическую типизацию. Ruby был создан в середине 90-х годов японским разработчиком.</li>
67
<li>Ruby - высокоуровневый язык программирования. Поддерживает динамическую типизацию. Ruby был создан в середине 90-х годов японским разработчиком.</li>
68
<li>JavaScript - один из самых популярных языков с динамической типизацией. Хорошо подойдет для использования различных парадигм разработки, включая объектно-ориентированное программирование. Легко учится и имеет хорошо читаемый исходный код. В основном применяется в веб-разработке.</li>
68
<li>JavaScript - один из самых популярных языков с динамической типизацией. Хорошо подойдет для использования различных парадигм разработки, включая объектно-ориентированное программирование. Легко учится и имеет хорошо читаемый исходный код. В основном применяется в веб-разработке.</li>
69
</ol><p>К языкам программирования с наличием акцента на объектно-ориентированную разработку также относят C#, PHP, Scala, Python, Java.</p>
69
</ol><p>К языкам программирования с наличием акцента на объектно-ориентированную разработку также относят C#, PHP, Scala, Python, Java.</p>
70
<h2>Классы и объекты на примере Java</h2>
70
<h2>Классы и объекты на примере Java</h2>
71
<p>Основы объектно-ориентированного программирования понятны. Чтобы лучше разбираться в классах и объектах, рекомендуется рассматривать их на наглядном примере. В качестве базового языка будет взят один из наиболее популярных среди программистов - Java. Его достаточно легко изучать, а исходный код окажется хорошо читаемым. Java имеет множество библиотек и фреймворков. Все это делает его удобным для изучения классов и объектов.</p>
71
<p>Основы объектно-ориентированного программирования понятны. Чтобы лучше разбираться в классах и объектах, рекомендуется рассматривать их на наглядном примере. В качестве базового языка будет взят один из наиболее популярных среди программистов - Java. Его достаточно легко изучать, а исходный код окажется хорошо читаемым. Java имеет множество библиотек и фреймворков. Все это делает его удобным для изучения классов и объектов.</p>
72
<h3>Понятие объектов</h3>
72
<h3>Понятие объектов</h3>
73
<p>Объект - некая структура, объединяющая данные и методы, используемые для обработки этого самого объекта. Данная концепция дает возможность разграничить область применения методов.</p>
73
<p>Объект - некая структура, объединяющая данные и методы, используемые для обработки этого самого объекта. Данная концепция дает возможность разграничить область применения методов.</p>
74
<p>Объектом может называться своеобразный "строительный блок" объектно-ориентированных приложений. Такая программа представляет собой набор готовый объектов и связей между ними. Каждый объект состоит из:</p>
74
<p>Объектом может называться своеобразный "строительный блок" объектно-ориентированных приложений. Такая программа представляет собой набор готовый объектов и связей между ними. Каждый объект состоит из:</p>
75
<ul><li>имени;</li>
75
<ul><li>имени;</li>
76
<li>состояния - перечня всех свойств соответствующего объекта и текущих значений каждого из этих свойств;</li>
76
<li>состояния - перечня всех свойств соответствующего объекта и текущих значений каждого из этих свойств;</li>
77
<li>методов.</li>
77
<li>методов.</li>
78
</ul><p>Данные, которые содержатся в объекте, представляют собой его состояние. В ООП такая информация называется атрибутами. В качестве примера можно привести имя, фамилия, дату рождения, пол и другие характеристики сотрудника компании. В разных объектах атрибуты обладают совершенно разными значениями.</p>
78
</ul><p>Данные, которые содержатся в объекте, представляют собой его состояние. В ООП такая информация называется атрибутами. В качестве примера можно привести имя, фамилия, дату рождения, пол и другие характеристики сотрудника компании. В разных объектах атрибуты обладают совершенно разными значениями.</p>
79
<p>Поведением объектов в программировании называют то, что соответствующий элемент может сделать. В структурной разработке оно реализовывалось через подпрограммы, процедуры и функции.</p>
79
<p>Поведением объектов в программировании называют то, что соответствующий элемент может сделать. В структурной разработке оно реализовывалось через подпрограммы, процедуры и функции.</p>
80
<p>Сообщения - это механизм коммуникации между несколькими объектами исходного приложения. Пример - когда объект А вызывает метод объекта Б, объект А отправляет сообщение объекту Б. В качестве ответа от Б выступает его возвращаемое значение. Вызываться другими объектами способны исключительно "открытые" методы.</p>
80
<p>Сообщения - это механизм коммуникации между несколькими объектами исходного приложения. Пример - когда объект А вызывает метод объекта Б, объект А отправляет сообщение объекту Б. В качестве ответа от Б выступает его возвращаемое значение. Вызываться другими объектами способны исключительно "открытые" методы.</p>
81
<h3>Понятие классов</h3>
81
<h3>Понятие классов</h3>
82
<p>Каждый объект определяется при помощи общих шаблонов. Эти самые шаблоны носят название классов. В их рамках создается общий шаблон, структура, на основе которой будут формироваться объекты.</p>
82
<p>Каждый объект определяется при помощи общих шаблонов. Эти самые шаблоны носят название классов. В их рамках создается общий шаблон, структура, на основе которой будут формироваться объекты.</p>
83
<p>Данные, которые относятся к тому или иному классу, - это поля. Программный код, используемый для их обработки, - метод класса. Поля и методы имеют общее название в разработке - члены класса.</p>
83
<p>Данные, которые относятся к тому или иному классу, - это поля. Программный код, используемый для их обработки, - метод класса. Поля и методы имеют общее название в разработке - члены класса.</p>
84
<p>Класс описывает тип данных, которые относятся к классу, а также спектр применяемых методов к соответствующей информации. В приложении на основе того или иного класса создается экземпляр класса (это объект), в котором прописываются конкретные значения полей и выполняется необходимый спектр манипуляций (действий) над ними.</p>
84
<p>Класс описывает тип данных, которые относятся к классу, а также спектр применяемых методов к соответствующей информации. В приложении на основе того или иного класса создается экземпляр класса (это объект), в котором прописываются конкретные значения полей и выполняется необходимый спектр манипуляций (действий) над ними.</p>
85
<p>Конвекция кода и правила Java-языка предусматривают следующие принципы работы с классами:</p>
85
<p>Конвекция кода и правила Java-языка предусматривают следующие принципы работы с классами:</p>
86
<ul><li>каждый из них содержится в отдельном файле, имеющем расширение .java;</li>
86
<ul><li>каждый из них содержится в отдельном файле, имеющем расширение .java;</li>
87
<li>название файла должно быть точно таким же, как и название класса;</li>
87
<li>название файла должно быть точно таким же, как и название класса;</li>
88
<li>класс описывается существительным и так, чтобы было понятно, с чем программист будет иметь дело;</li>
88
<li>класс описывается существительным и так, чтобы было понятно, с чем программист будет иметь дело;</li>
89
<li>название рассматриваемого элемента кода начинается с большой буквы;</li>
89
<li>название рассматриваемого элемента кода начинается с большой буквы;</li>
90
<li>если имя включает в себя несколько слов, каждое из них начинается с заглавной буквы.</li>
90
<li>если имя включает в себя несколько слов, каждое из них начинается с заглавной буквы.</li>
91
</ul><p>Чтобы лучше понимать разницу между изученными компонентами, рекомендуется изучить наглядный пример. Он будет включает в себя определение двух классов - Cat и Dog. Их описание осуществляется при помощи указания полей (данных) и методов класса. Для класса Cat в качестве полей указывается name - кличка кота и color - окрас. Для собаки указываются точно такие же поля и дополнительно breed - порода.</p>
91
</ul><p>Чтобы лучше понимать разницу между изученными компонентами, рекомендуется изучить наглядный пример. Он будет включает в себя определение двух классов - Cat и Dog. Их описание осуществляется при помощи указания полей (данных) и методов класса. Для класса Cat в качестве полей указывается name - кличка кота и color - окрас. Для собаки указываются точно такие же поля и дополнительно breed - порода.</p>
92
<p>Код будет выглядеть для Dog:</p>
92
<p>Код будет выглядеть для Dog:</p>
93
<p>Для Cat:</p>
93
<p>Для Cat:</p>
94
<p>Кроме полей определяются методы классов. Метод в объектно-ориентированном программировании - это то, что может делать объект класса (или то, что можно сделать с соответствующим элементом). Коты будут мяукать и заниматься ловлей мышей, а собаки - вилять хвостами и лаять.</p>
94
<p>Кроме полей определяются методы классов. Метод в объектно-ориентированном программировании - это то, что может делать объект класса (или то, что можно сделать с соответствующим элементом). Коты будут мяукать и заниматься ловлей мышей, а собаки - вилять хвостами и лаять.</p>
95
<p>Это определенные шаблоны, на основании которых позже можно будет создавать экземпляры классов. Разница между классами и объектами точно такая же, как между абстрактным и реальным понятием объекта. При создании объекта класса необходимо задавать определенные значения для полей. Когда речь идет о кошке или собаке в общих чертах, подразумеваются животные, у которых есть клички, окрас и иные характеристики. Все это абстракции, соответствующие классам. Если же говорить о конкретном животном - это уже будут объекты, экземпляры класса.</p>
95
<p>Это определенные шаблоны, на основании которых позже можно будет создавать экземпляры классов. Разница между классами и объектами точно такая же, как между абстрактным и реальным понятием объекта. При создании объекта класса необходимо задавать определенные значения для полей. Когда речь идет о кошке или собаке в общих чертах, подразумеваются животные, у которых есть клички, окрас и иные характеристики. Все это абстракции, соответствующие классам. Если же говорить о конкретном животном - это уже будут объекты, экземпляры класса.</p>
96
<h3>Классовый синтаксис</h3>
96
<h3>Классовый синтаксис</h3>
97
<p>Теперь можно рассмотреть наглядный пример синтаксиса описания классов в Java. Описание начинается с ключевого слова - class. Далее пишется имя, а в фигурных скобках - тело, которое включает в себя характеристику конкретных членов класса - методов и полей.</p>
97
<p>Теперь можно рассмотреть наглядный пример синтаксиса описания классов в Java. Описание начинается с ключевого слова - class. Далее пишется имя, а в фигурных скобках - тело, которое включает в себя характеристику конкретных членов класса - методов и полей.</p>
98
<p>Чтобы объявить "шаблон" используется ключевого слово class. Вот упрощенная форма классового определения:</p>
98
<p>Чтобы объявить "шаблон" используется ключевого слово class. Вот упрощенная форма классового определения:</p>
99
<p>Данные или переменные, определенные в "шаблоне", называются переменными экземпляра. Это связано с тем, что каждый экземпляр включает в себя копии этих самых переменных. Данные одного элемента будут отделяться и отличаться от данных другого компонента.</p>
99
<p>Данные или переменные, определенные в "шаблоне", называются переменными экземпляра. Это связано с тем, что каждый экземпляр включает в себя копии этих самых переменных. Данные одного элемента будут отделяться и отличаться от данных другого компонента.</p>
100
<p>Непосредственный код содержится в теле методов. Обычно действия над переменными и доступ к ним производят методы этого самого класса. Методы служат для определения порядка использования классовых данных.</p>
100
<p>Непосредственный код содержится в теле методов. Обычно действия над переменными и доступ к ним производят методы этого самого класса. Методы служат для определения порядка использования классовых данных.</p>
101
<h3>Методы</h3>
101
<h3>Методы</h3>
102
<p>Классы состоят из двух элементов - переменных экземпляра и методов. Общая форма представления метода имеет следующую реализацию:</p>
102
<p>Классы состоят из двух элементов - переменных экземпляра и методов. Общая форма представления метода имеет следующую реализацию:</p>
103
<p>Здесь необходимо запомнить следующее:</p>
103
<p>Здесь необходимо запомнить следующее:</p>
104
<ol><li>Возвращаемый тип указывает на конкретный тип данных, возвращаемый методом.</li>
104
<ol><li>Возвращаемый тип указывает на конкретный тип данных, возвращаемый методом.</li>
105
<li>Возвращаемый тип может быть любым допустимым информационным типом, включая тип созданного класса.</li>
105
<li>Возвращаемый тип может быть любым допустимым информационным типом, включая тип созданного класса.</li>
106
<li>Если метод не будет возвращать никаких значений, ему присваивается тип void.</li>
106
<li>Если метод не будет возвращать никаких значений, ему присваивается тип void.</li>
107
<li>В виде имени методов выступает любой идентификатор, за исключением того, что уже используются в программном коде в текущей области действия.</li>
107
<li>В виде имени методов выступает любой идентификатор, за исключением того, что уже используются в программном коде в текущей области действия.</li>
108
<li>Список параметров - это последовательность пар "тип-идентификатор", которые разделяются запятыми.</li>
108
<li>Список параметров - это последовательность пар "тип-идентификатор", которые разделяются запятыми.</li>
109
<li>Параметры - это переменные, принимающие значения аргументов, которые передаются методу в процессе обращения к нему.</li>
109
<li>Параметры - это переменные, принимающие значения аргументов, которые передаются методу в процессе обращения к нему.</li>
110
<li>При отсутствии у метода тех или иных параметров, список будет пустым.</li>
110
<li>При отсутствии у метода тех или иных параметров, список будет пустым.</li>
111
<li>Методы, возвращаемый тип которых отличен от void, возвращают значение вызывающей части программы через оператор return.</li>
111
<li>Методы, возвращаемый тип которых отличен от void, возвращают значение вызывающей части программы через оператор return.</li>
112
</ol><p>Когда доступ к переменным экземпляра выполняется из кода, выходящего за пределы класса, где определена переменная экземпляра, следует обязательно указывать конкретный объект. Это делается через операцию точки. Если доступ производится из кода, включенного в "шаблон", где определена переменная экземпляра, ссылка на переменную может передаваться непосредственно. Аналогичные правила распространяются на методы.</p>
112
</ol><p>Когда доступ к переменным экземпляра выполняется из кода, выходящего за пределы класса, где определена переменная экземпляра, следует обязательно указывать конкретный объект. Это делается через операцию точки. Если доступ производится из кода, включенного в "шаблон", где определена переменная экземпляра, ссылка на переменную может передаваться непосредственно. Аналогичные правила распространяются на методы.</p>
113
<p>Теперь понятно, что такое объект в ООП. Также стало ясно, что собой представляют классы. Лучше пользоваться этими элементами, а также языками разработки, поддерживающими концепции объектно-ориентированного программирования, помогут специализированные дистанционные онлайн-курсы. На них с нуля в срок от нескольких месяцев до года научат пользоваться любым выбранным языком. Приобретенные навыки подтверждаются электронным сертификатом.</p>
113
<p>Теперь понятно, что такое объект в ООП. Также стало ясно, что собой представляют классы. Лучше пользоваться этими элементами, а также языками разработки, поддерживающими концепции объектно-ориентированного программирования, помогут специализированные дистанционные онлайн-курсы. На них с нуля в срок от нескольких месяцев до года научат пользоваться любым выбранным языком. Приобретенные навыки подтверждаются электронным сертификатом.</p>
114
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
114
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
115
115