Что такое ООП
Данная статья:
- написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
- это одна из статей из нашего "Самоучителя по Java"
Что такое ООП
Аббревиатура ООП расшифровывается как "Объектно-ориентированное программирование". Если Вы читали более ранние статьи из "Самоучителя по Java", то в общих чертах уже имеете о нем представление.
Раз программирование "объектно ориентировано" - значит, в первую очередь нужно разобраться именно с этими "объектами". Возможно, Вы только-только познакомились с циклом и массивом, написали первую программу - а тут оказывается, что есть еще какие-то "объекты". Да, сейчас перед Вами откроется целый мир новых понятий. И хотим предупредить - этой теме нужно уделять большое внимание, потому что именно это понятие станет основой всей Вашей дальнейшей работы.
Что такое "объект"
Программирование - это вещь сложная сама по себе. Никто не стремится его усложнять, а наоборот - все сделано для того, чтобы работа шла легче и быстрее. ООП, с его объектами - это то, что было придумано для упрощения Вашей работы.
Работая ранее, Вы скорее всего пользовались Scanner для считывания символов, которые вводятся пользователем. Правда, удобно - две строчки, и готово? Вы объявляете Scanner:
1 |
Scanner scan = new Scanner(System.in); |
создавая новый объект типа Scanner, и можете работать, задавая разные методы. Вам не важно, какая работа проходит внутри - главное Вы можете использовать этот метод снова и снова. Правда, удобно? 🙂
Что важно - в дальнейшем Вы сможете создавать собственные классы и объекты!
Наверняка, Scanner Вы использовали не один раз. Они имели разные параметры и названия- scan, sanner, sc или sc1. Это были разные объекты одного класса.
У каждого объекта есть свойства. Например, свойства машины: модель, цвет, размер и т.д.
У каждого объекта есть методы (то есть действия, которые может делать объект). Например, методы машины: затормозить, нажать на газ и т.д. Ниже приводим Вам слайд в помощь.
Можно сказать, что Ваш друг - объект класса "Человек", маленькая дворняжка или большой ротвеллер - объекты класса "Собака", с общими методами и свойствами, но разными индивидуальными параметрами.
Кроме базовых понятый "класса" и "объекта" рассмотрим основные принципы ООП - наследование, инкапсуляция, полиморфизм (запомните эти три слова - они наверняка пригодятся на интервью!).
Принцип 1. Наследование
На картинке: три поколения - бабушка, дочка и внучка.
Что же такое "наследование"?
Можете думать о нем как об еще одном облегчителе работы. Вы уже знаете, что благодаря классам и объектам Вы можете не прописывать код каждый раз заново, а просто создавать объекты класса. Наследование позволяет экономить время при создании нового класса. Представьте, что у Вас есть класс "Кошка". У нее есть свойства - имя, цвет и порода. У этого класса есть методы - спать, кушать, играть, мурлыкать. А теперь, представим, нам нужно создать новый класс - "Котенок". У него тоже есть имя, цвет и порода. Он тоже умеет спать, кушать, играть, мурлыкать. Но, кроме того, он еще может, например, "искать маму".
Благодаря наследованию, можно не прописывать все методы и свойства класса заново. Можно просто указать, что класс "Котенок" наследует класс "Кошка", и добавить недостающие методы и параметры. Опять - удобно, правда? 🙂
Принцип 2. Инкапсуляция
"Инкапсуляция" можно расшифровать как "заключение в капсулу". Если проще - это "обеспечение безопасности" в Java.
Дело в том, что в каждой программе есть параметры, к которым нельзя давать доступ всем. Например, разве будет интересно играть в игру, если пользователь сможет свободно изменять свои очки сам? Инкапсуляция позволяет регулировать уровни доступа в программе.
Принцип 3. Полиморфизм
Это - "облегчитель работы №2", или "зачем запоминать много методов если можно использовать только один". Смысл полиморфизма в том, что Вы можете давать одно и то же название для методов, которые имеют одинаковый смысл, но принимают разные типы данных. Хотя это может Вам показаться странным, но в других языках - где полиморфизма нет - нужно иногда запоминать названия 5 методов вместо одного - только из-за того, что они работают с разными типами данных.
Вот Вы и освоили основные понятия ООП. Опять же, поскольку это основа всей дальнейшей работы, советуем хорошо в ней разобраться.
Статья написана Vertex Academy. Будем рады видеть Вас на наших курсах Java с нуля.