Что такое ООП

ООП

Данная статья:

  • написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
  • это одна из статей из нашего "Самоучителя по Java"
Что такое ООП

Аббревиатура ООП расшифровывается как "Объектно-ориентированное программирование". Если Вы читали более ранние статьи из "Самоучителя по Java", то в общих чертах уже имеете о нем представление.

Раз программирование "объектно ориентировано" - значит, в первую очередь нужно разобраться именно с этими "объектами". Возможно, Вы только-только познакомились с циклом и массивом, написали первую программу - а тут оказывается, что есть еще какие-то "объекты". Да, сейчас перед Вами откроется целый мир новых понятий. И хотим предупредить - этой теме нужно уделять большое внимание, потому что именно это понятие станет основой всей Вашей дальнейшей работы.

Что такое "объект"

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

Работая ранее, Вы скорее всего пользовались Scanner для считывания символов, которые вводятся пользователем. Правда, удобно - две строчки, и готово? Вы объявляете Scanner:

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

Что важно - в дальнейшем Вы сможете создавать собственные классы и объекты!

Наверняка, Scanner Вы использовали не один раз. Они имели разные параметры и названия- scan, sanner, sc или sc1. Это были разные объекты одного класса.

У каждого объекта есть свойства. Например, свойства машины: модель, цвет, размер и т.д.

У каждого объекта есть методы (то есть действия, которые может делать объект). Например, методы машины: затормозить, нажать на газ и т.д. Ниже приводим Вам слайд в помощь.

Можно сказать, что Ваш друг - объект класса "Человек", маленькая дворняжка или большой ротвеллер - объекты класса "Собака", с общими методами и свойствами, но разными индивидуальными параметрами.

Кроме базовых понятый "класса" и "объекта" рассмотрим основные принципы ООП - наследование, инкапсуляция, полиморфизм (запомните эти три слова - они наверняка пригодятся на интервью!).

Принцип 1. Наследование

На картинке: три поколения - бабушка, дочка и внучка.

Что же такое "наследование"?

Можете думать о нем как об еще одном облегчителе работы. Вы уже знаете, что благодаря классам и объектам Вы можете не прописывать код каждый раз заново, а просто создавать объекты класса. Наследование позволяет экономить время при создании нового класса.  Представьте, что у Вас есть класс "Кошка". У нее есть свойства - имя, цвет и порода. У этого класса есть методы - спать, кушать, играть, мурлыкать.  А теперь, представим, нам нужно создать новый класс - "Котенок". У него тоже есть имя, цвет и порода. Он тоже умеет спать, кушать, играть, мурлыкать. Но, кроме того, он еще может, например, "искать маму".

Благодаря наследованию, можно не прописывать все методы и свойства класса заново. Можно просто указать, что класс "Котенок" наследует класс "Кошка", и добавить недостающие методы и параметры. Опять - удобно, правда? 🙂

Принцип 2. Инкапсуляция

"Инкапсуляция" можно расшифровать как "заключение в капсулу". Если проще - это "обеспечение безопасности" в Java.

Дело в том, что в каждой программе есть параметры, к которым нельзя давать доступ всем. Например, разве будет интересно играть в игру, если пользователь сможет свободно изменять свои очки сам? Инкапсуляция позволяет регулировать уровни доступа в программе.

Принцип 3. Полиморфизм

Это - "облегчитель работы №2", или "зачем запоминать много методов если можно использовать только один". Смысл полиморфизма в том, что Вы можете давать одно и то же название для методов, которые имеют одинаковый смысл, но принимают разные типы данных. Хотя это может Вам показаться странным, но в других языках - где полиморфизма нет - нужно иногда запоминать названия 5 методов вместо одного - только из-за того, что они работают с разными типами данных.

 

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

 


Статья написана Vertex Academy. Будем рады видеть Вас на наших курсах Java с нуля.

 

FacebookFacebook

FacebookFacebook