Введение в языки объектно-ориентированного программирования: руководство

Введение в языки объектно-ориентированного программирования Программирование и разработка

Введение в языки объектно-ориентированного программирования

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

Языки объектно-ориентированного программирования (ООП) есть везде, куда бы мы ни посмотрели. Многие из наиболее широко используемых языков программирования, составляющих сегодня компьютерный мир, являются объектно-ориентированными. Фактически, многие компьютерные программы и значительная часть веб-контента построены на объектно-ориентированных языках высокого уровня . Понимание того, как работают объектно-ориентированные языки и почему они полезны, важно почти для каждой карьеры в области вычислений.

В этой статье мы собираемся взглянуть на то, что такое объектно-ориентированные языки, и изучить их плюсы и минусы. Мы также рассмотрим краткий список некоторых из самых популярных языков ООП, используемых сегодня.

Что такое язык программирования?

Язык программирования — это набор правил и процедур, которые позволяют программистам давать компьютерам набор инструкций для выполнения. Каждый язык программирования имеет свой собственный синтаксис, который после изучения позволяет указывать компьютеру, какие задачи он должен выполнять.

Подумайте об этом таким образом. Английский — это язык, на котором вы можете общаться с англоговорящими. Когда вы знаете основные правила английского языка, вы можете разговаривать с любым, кто понимает эти же правила. Но компьютеры не могут понимать английский или любой другой «традиционный» язык в этом отношении.

Что такое языки объектно-ориентированного программирования?

Компьютеры — мощные машины. С помощью компьютера мы можем очень быстро вычислять числа и создавать потрясающие программы для многих приложений. Однако, чтобы воспользоваться этой мощью, нам нужно общаться с компьютером что-то менее болезненное, чем ввод вручную единиц и нулей.

Следовательно, у нас есть языки программирования, поддерживаемые уже написанным машинным кодом. Однако, чем дальше мы удаляемся от машинного кода, тем более абстрактными и специализированными языками становятся в обработке данных. Вот почему у нас так много языков; Ни один язык не идеален, и все они имеют разные и частично совпадающие приложения.

Парадигмы программирования

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

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

Объекты в объектно-ориентированном программном обеспечении можно рассматривать как реальные объекты. Думайте о предмете, как о часах. У этих часов есть свойства. Он металлический, чёрный, имеет удельный вес. Но этот объект тоже что-то делает. Он отображает время, а также может влиять на себя, вращая шестерёнки, чтобы изменить положение рук.

Ещё одна особенность объектов заключается в том, что нам не всегда нужно знать, как работают часы, чтобы заставить их работать. Предполагая, что часы хорошо построены, они будут надёжно определять время, и нам не придётся вмешиваться в их внутреннюю работу.

В объектно-ориентированных языках есть объекты, похожие на объекты реального мира. У них могут быть свойства и функции. Они также склонны следовать определённому набору принципов.

Читайте также:  Groovy или Java: подробное сравнение и советы по выбору языка

Принципы объектно-ориентированного программирования

Объектно-ориентированные языки основаны на четырёх принципах. Эти четыре принципа являются общими свойствами, которые определяют их и делают их значительно более эффективными. Некоторые называют их четырьмя столпами объектно-ориентированного программирования.

Четыре столпа объектно-ориентированного программирования:

  • Инкапсуляция.
  • Абстракция.
  • Наследование.
  • Полиморфизм.

Четыре принципа

Давайте рассмотрим эти четыре принципа более подробно.

  • Инкапсуляция — это концепция привязки данных к функциям, которые работают как функция безопасности для обеспечения безопасности этих данных. Например, многие языки ООП запрещают что-либо, кроме определённых методов в классе, владеющем данными, для доступа к этим данным. Часто это делается специально для обеспечения безопасности определённых данных.
  • Абстракция — это идея о том, что если вы делаете что-то слишком часто, это должно быть отдельное лицо. Например, если программист многократно переписывает одну и ту же функцию для разных объектов, эта функция может быть абстрагирована, чтобы стать её собственной сущностью.
  • Наследование — это то, на что это похоже, и чаще всего определяется как отношения «есть». Это позволяет определённым классам находиться под зонтиком других классов. Эти классы могут наследовать информацию и функциональность от этого класса, а также расширять эту функциональность. Это позволяет нам повторно использовать код, который мы уже набрали в других классах.
  • Полиморфизм означает «принимать более одной формы». В смысле языков ООП это относится к способности обрабатывать объекты по-разному в зависимости от того, что они собой представляют. Это позволяет нам определять различные методы обработки объектов на основе их производного класса. Например, если нам нужно определить размер чего-либо, мы можем изменить способ измерения в зависимости от того, что это такое. Если это деревянная доска, я бы измерил её в дюймах. Это в отличие от объёма воды, который я бы измерял по весу. Если мы используем полиморфизм, мы можем создать функцию, которая может принимать любой объект и при этом давать нам разумные измерения.

Популярные языки объектно-ориентированного программирования

Java, Python, C ++, Lisp и Perl — все это примеры популярных объектно-ориентированных языков программирования. Они поддерживают программирование с использованием парадигмы классов и объектов.

Пять из самых популярных объектно-ориентированных языков включают:

  1. Java.
  2. Python.
  3. C ++.
  4. Ruby
  5. C #.

 

  • Java есть повсюду, и это один из самых используемых и востребованных языков всех времён. Девиз Java — «напиши один раз, запусти где угодно», и это отражается на количестве платформ, на которых он работает, и местах, где он используется.
  • Python универсален и используется во многих местах. Однако Python прочно обосновался в машинном обучении и науке о данных. Это один из предпочтительных языков для этой новой и постоянно растущей области.
  • C ++ обладает скоростью C с функциональностью классов и объектно-ориентированной парадигмой. Это скомпилированный, надёжный и мощный язык. Фактически, он даже используется для создания компиляторов и интерпретаторов для других языков.
  • Ruby — ещё один язык программирования общего назначения. Он был построен для простоты. С учётом сказанного, Ruby — невероятно мощный язык. Создатель Ruby, Юкихиро «Мац» Мацумото, сказал: «Рубин очень прост на вид, но очень сложен внутри, как и наше человеческое тело».
  • C # — это язык программирования, разработанный Microsoft. Он был разработан для улучшения существующих концепций C. C # поддерживает платформу Microsoft.NET вместе со многими веб-приложениями, играми, настольными приложениями и мобильными приложениями.
Читайте также:  Учебное пособие по Python PEP 8: начните писать читаемый код

Есть и другие объектно-ориентированные языки, которые мы не рассмотрели выше. Perl, Objective-C, Dart, Lisp, JavaScript и PHP тоже являются объектно-ориентированными или поддерживают объектно-ориентированные принципы.

Плюсы и минусы объектно-ориентированных языков программирования

Хотя языки ООП могут быть мощными, они полезны не во всех ситуациях и имеют некоторый багаж, который необходимо учитывать.

Плюсы

Возможность повторного использования

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

Параллельная разработка

Существует достаточно наработок для того, чтобы части программы разрабатывались отдельно друг от друга и при этом функционировали по объектно-ориентированным принципам. Это значительно упрощает параллельную разработку для более крупных команд разработчиков.

Обслуживание

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

Безопасность

Хотя в большинстве языков есть некоторая безопасность, объектно-ориентированные языки удобны, потому что безопасность встроена с инкапсуляцией. Другие методы и классы не могут получить доступ к личным данным по умолчанию, и программы, написанные на языках ООП, более безопасны для этого.

Модульность

В объектно-ориентированных языках программирования приложение разбивается на объекты и классы. Это полезно, потому что даёт вашему приложению более модульную структуру. Модульный код легче читать. Поэтому его легче обслуживать.

Минусы

Часто грязный

Поскольку объектно-ориентированные языки настолько настраиваемы и масштабируемы, можно легко потерять понимание того, как работает код. Код ООП может работать по-разному. Существует множество методологий программирования в ООП, которые не работают с другими методологиями, неэффективны или сложны в использовании.

Требуется больше планирования

Поскольку эти языки настолько модульны и масштабируемы, отказ от чёткого проектирования заранее — это рецепт катастрофы. Создание эффективной программы требует твёрдого плана в большей степени, чем при использовании других парадигм программирования.

Непрозрачность

Это как плюс, так и минус. Объекты и функции могут работать независимо. Они могут получать информацию и (обычно) возвращать надёжные результаты. В результате они могут оказаться чёрными ящиками, а это означает, что то, что они делают, не всегда очевидно. Хотя программист, вероятно, создал этот объект и знает, что он делает, языки ООП просто не так прозрачны, как другие языки.

Спектакль

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

Теперь у вас есть чёткое представление о том, что такое объектно-ориентированный язык. А также для чего он нужен и какие из них наиболее популярны. Программирование на этих языках может быть столь же приятным, сколь и прибыльным. А ваша карьера в области разработки находится всего в нескольких шагах от вас.

Оцените статью
bestprogrammer.ru
Добавить комментарий