HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: ооп, наследование, программирование, методы, объектно-ориентированное программирование, классы, инкапсуляция, полиморфизм</p>
1 <p>Теги: ооп, наследование, программирование, методы, объектно-ориентированное программирование, классы, инкапсуляция, полиморфизм</p>
2 <p><strong>Объектно-ориентированное программирование</strong>- это шаблон проектирования ПО, позволяющий решать задачи разработчика с точки зрения взаимодействия объектов. При этом большая часть объектно-ориентированных языков, например, Ruby, Python, Java, C++ наследуют на основе классов. Если говорить о JavaScript, то в нём ООП реализуется через прототипное наследование.</p>
2 <p><strong>Объектно-ориентированное программирование</strong>- это шаблон проектирования ПО, позволяющий решать задачи разработчика с точки зрения взаимодействия объектов. При этом большая часть объектно-ориентированных языков, например, Ruby, Python, Java, C++ наследуют на основе классов. Если говорить о JavaScript, то в нём ООП реализуется через прототипное наследование.</p>
3 <p>Наиболее удачное и популярное определение ООП звучит следующим образом - это<strong>методология программирования</strong>, которая основана на представлении программы в виде совокупности ряда объектов, причём каждый из этих объектов - это экземпляр определённого класса.</p>
3 <p>Наиболее удачное и популярное определение ООП звучит следующим образом - это<strong>методология программирования</strong>, которая основана на представлении программы в виде совокупности ряда объектов, причём каждый из этих объектов - это экземпляр определённого класса.</p>
4 <p>На сегодняшний день<strong>ООП</strong>- наиболее распространённый метод разработки ПО. Но использование этого метода предполагает понимание ряда принципов. О них и поговорим.</p>
4 <p>На сегодняшний день<strong>ООП</strong>- наиболее распространённый метод разработки ПО. Но использование этого метода предполагает понимание ряда принципов. О них и поговорим.</p>
5 <h2>Сущность, определения и принципы ООП</h2>
5 <h2>Сущность, определения и принципы ООП</h2>
6 <p>Для освоения этих методов разработки вы должны знать четыре главные особенности. Вместе они образуют сущность данного программирования. А понимание сущности ООП, как известно, не что иное, как ключ к становлению профессионального и успешного разработчика. Давайте рассмотрим эти определения подробнее.</p>
6 <p>Для освоения этих методов разработки вы должны знать четыре главные особенности. Вместе они образуют сущность данного программирования. А понимание сущности ООП, как известно, не что иное, как ключ к становлению профессионального и успешного разработчика. Давайте рассмотрим эти определения подробнее.</p>
7 <h2>Наследование</h2>
7 <h2>Наследование</h2>
8 <p>Это механизм, позволяющий описать новый класс на основании родительского (существующего). Причём функциональность и свойства родительского класса<strong>заимствуются</strong>новым.</p>
8 <p>Это механизм, позволяющий описать новый класс на основании родительского (существующего). Причём функциональность и свойства родительского класса<strong>заимствуются</strong>новым.</p>
9 <p>Иными словами, когда вы применяете наследование в программировании, отпадает необходимость реализовывать общий базовый функционал прочих классов, так как вполне достаточно применить наследование, благодаря которому ваш класс сразу будет обладать нужными родительскими знаниями.</p>
9 <p>Иными словами, когда вы применяете наследование в программировании, отпадает необходимость реализовывать общий базовый функционал прочих классов, так как вполне достаточно применить наследование, благодаря которому ваш класс сразу будет обладать нужными родительскими знаниями.</p>
10 <p>Для чего нужно наследование в ООП, и какие преимущества оно даёт программированию? Главный плюс -<strong>повторное использование кода</strong>. Как правило, методы и поля, описанные в родительских классах, можно переиспользовать в классах-потомках. В результате: - приходится писать меньше кода; - повышается качество кода, он упрощается.</p>
10 <p>Для чего нужно наследование в ООП, и какие преимущества оно даёт программированию? Главный плюс -<strong>повторное использование кода</strong>. Как правило, методы и поля, описанные в родительских классах, можно переиспользовать в классах-потомках. В результате: - приходится писать меньше кода; - повышается качество кода, он упрощается.</p>
11 <p>При этом сам механизм довольно гибок, поэтому недостающую в потомках функциональность всегда можно дописать отдельно.</p>
11 <p>При этом сам механизм довольно гибок, поэтому недостающую в потомках функциональность всегда можно дописать отдельно.</p>
12 <h2>Абстракция</h2>
12 <h2>Абстракция</h2>
13 <p>Тут всё предельно просто. При абстракции выделяются главные и наиболее значимые характеристики предмета, одновременно с этим отбрасываются второстепенные и незначительные.</p>
13 <p>Тут всё предельно просто. При абстракции выделяются главные и наиболее значимые характеристики предмета, одновременно с этим отбрасываются второстепенные и незначительные.</p>
14 <p>Простой пример: представьте, что мы создаём картотеку сотрудников компании. Естественно, мы вносим их основные характеристики: дату рождения, ИНН, ФИО, номер социального страхования. Разумеется, нас не интересуют ни рост, ни цвет глаз, ни длина волос. То есть мы абстрагируемся от ненужной информации.</p>
14 <p>Простой пример: представьте, что мы создаём картотеку сотрудников компании. Естественно, мы вносим их основные характеристики: дату рождения, ИНН, ФИО, номер социального страхования. Разумеется, нас не интересуют ни рост, ни цвет глаз, ни длина волос. То есть мы абстрагируемся от ненужной информации.</p>
15 <p>А что если нужно создать картотеку модельного агентства? Согласитесь, что здесь ситуация кардинально меняется и вряд ли нам понадобится индивидуальный номер налогоплательщика, а вот данные о внешности будут очень кстати.</p>
15 <p>А что если нужно создать картотеку модельного агентства? Согласитесь, что здесь ситуация кардинально меняется и вряд ли нам понадобится индивидуальный номер налогоплательщика, а вот данные о внешности будут очень кстати.</p>
16 <h2>Инкапсуляция</h2>
16 <h2>Инкапсуляция</h2>
17 <p>Этот термин для объектно-ориентированного программирования означает ограничение доступа к каким-либо данным, то есть ограничивается возможность изменения этих самых данных. Проще говоря, есть "капсула", в которую мы "прячем" важные параметры, когда не хотим, чтобы кто-либо их менял.</p>
17 <p>Этот термин для объектно-ориентированного программирования означает ограничение доступа к каким-либо данным, то есть ограничивается возможность изменения этих самых данных. Проще говоря, есть "капсула", в которую мы "прячем" важные параметры, когда не хотим, чтобы кто-либо их менял.</p>
18 <p>Поясним термин на примере вашего имени. Его знают друзья, коллеги, родственники. Но они не могут изменить ваше имя, т. к., согласно методу ООП, у них нет к этому доступа. Всё потому, что изменения "<strong>инкапсулированы</strong>" в паспортном столе и только вы сами можете что-либо подправить. Пример инкапсуляции в объектно-ориентированном программировании - модификаторы доступа, геттеры-сеттеры и т. д.</p>
18 <p>Поясним термин на примере вашего имени. Его знают друзья, коллеги, родственники. Но они не могут изменить ваше имя, т. к., согласно методу ООП, у них нет к этому доступа. Всё потому, что изменения "<strong>инкапсулированы</strong>" в паспортном столе и только вы сами можете что-либо подправить. Пример инкапсуляции в объектно-ориентированном программировании - модификаторы доступа, геттеры-сеттеры и т. д.</p>
19 <h2>Полиморфизм</h2>
19 <h2>Полиморфизм</h2>
20 <p>Полиморфизм позволяет работать с несколькими типами таким образом, как будто это один и тот же тип. И поведение объектов в данном случае будет разным и зависит от того, к какому типу они принадлежат. В общем, полиморфизм указывает, какую версию метода текущего объекта необходимо запустить. Также полиморфизмом называют способность функции<strong>обрабатывать данные разных типов</strong>. Пример - автомат на вокзале, принимающий для оплаты как наличные, так и банковские карты.</p>
20 <p>Полиморфизм позволяет работать с несколькими типами таким образом, как будто это один и тот же тип. И поведение объектов в данном случае будет разным и зависит от того, к какому типу они принадлежат. В общем, полиморфизм указывает, какую версию метода текущего объекта необходимо запустить. Также полиморфизмом называют способность функции<strong>обрабатывать данные разных типов</strong>. Пример - автомат на вокзале, принимающий для оплаты как наличные, так и банковские карты.</p>
21 <h2>Причины появления объектно-ориентированного программирования</h2>
21 <h2>Причины появления объектно-ориентированного программирования</h2>
22 <p>Некоторые задаются вопросом, а почему вообще возник метод ООП? Вроде бы и работающие инструменты у программистов были, и процедурные языки, и методов реализации хватало.</p>
22 <p>Некоторые задаются вопросом, а почему вообще возник метод ООП? Вроде бы и работающие инструменты у программистов были, и процедурные языки, и методов реализации хватало.</p>
23 <p>Тем не менее пришло время, когда без ООП стало невозможно быстро и качественно решать поставленные задачи. Во многом это связано с усложнением этих самых задач. Усложнились типы данных, возникла необходимость делить задачу на части. В итоге программы стали представлять собой древа с кучей ветвлений и вариантов работы. Реализовать всё это, используя лишь процедурное программирование, стало весьма сложным и малореалистичным.</p>
23 <p>Тем не менее пришло время, когда без ООП стало невозможно быстро и качественно решать поставленные задачи. Во многом это связано с усложнением этих самых задач. Усложнились типы данных, возникла необходимость делить задачу на части. В итоге программы стали представлять собой древа с кучей ветвлений и вариантов работы. Реализовать всё это, используя лишь процедурное программирование, стало весьма сложным и малореалистичным.</p>
24  
24