article-spots
article-carousel-spots
programs
Технологии
Класс, Git, принципы ООП: базовые понятия Java
24 февр. 2023

Созданная в 1995 году, Java вскоре «отметит» свое 30-летие. Это — целая эпоха для ІТ, и хотя отрасль развивается сверхбыстрыми темпами, универсальный адаптивный язык Java все еще остается популярным и востребованным. Учитывая огромное количество продуктов, написанных на Java, спрос на квалифицированных «джавистов» в ближайшей перспективе сохранится на стабильно высоком уровне.

Итак, если вы решили овладеть этим довольно непростым, но перспективным языком программирования, ловите пять базовых понятий, которые должен знать каждый начинающий. Помогает разобраться в теме Александр Семьянихин, Software Engineer в ЕРАМ.

Основные принципы ООП или объектно-ориентированного программирования — это лидер среди поисковых запросов начинающих разработчиков и альфа и омега языка программирования Java. Что это такое?

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

Инкапсуляция

Это скрытие механизма реализации любого действия. Наиболее наглядный и понятный пример инкапсуляции — человеческое тело. Мы дышим, ходим, спим, едим, но какие именно процессы при этом протекают в организме и какие системы задействованы, мы не задумываемся (по крайней мере пока у нас все в порядке). То же происходит и в программировании.

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

Наследование

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

Объект «человек» отличается от объектов «водитель» и «пешеход» состоянием «движение». Для того чтобы создать новый класс, не нужно создавать объект с нуля, достаточно унаследовать от объекта «человек» и добавить новое состояние.

То есть, благодаря наследованию, разработчики могут повторно использовать существующий код, видоизменяя его согласно актуальным потребностям.

Полиморфизм

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

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

Класс и объект

В объектно-ориентированном языке программирования Java понятия «класс» и «объект» играют ключевую роль. Для того чтобы наглядно объяснить разницу между ними, вернемся к примеру со шкафом. Чертеж для сборки этого предмета интерьера — это класс, некая заготовка, с которой можно работать, а непосредственно шкаф — объект. По этому чертежу можно собрать розовый, белый или черный шкаф: класс определяет структуру и набор функций объекта.

Система контроля версий Git

Команды разработчиков используют системы контроля версий. Чаще всего — это Git. Для чего нужны такие системы? Они крайне необходимы в современных ІТ проектах, когда над программным решением могут одновременно работать сотни разработчиков. Git — это удобный, функциональный инструмент для совместного создания кода. Именно по этому на наших образовательных программах мы уделяем много внимания изучению Git.

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

Важно не путать Git, систему контроля версий, и GitHub — онлайн репозиторий историй версий проектов. Git и GitHub часто используют как единый механизм для работы над проектами.

В EPAM мы предлагаем немало образовательных программ по направлению Java для кандидатов с разным уровнем подготовки. Посмотрите список открытых наборов и присоединяйтесь к нам!