InterLink Meetup August 2016, Day 3. OOP

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

13914016_1143824175655713_5737291952889756731_o

На встрече мы прошлись по истории возникновения объектно-ориентированных языков программирования. Simula из 60х и Smalltalk из 70х передавали нам привет 🙂 Мы на простых (я очень на это надеюсь) примерах разобрали, что ООП призвано помочь программистам в моделировании внешнего мира в программном коде. Что интерфейсы, это наборы допустимых операций над объектом, а классы – своего рода фабрики для этих объектов, позволяющие создавать одинаковые по поведению и структуре экземпляры. Те из вас, кто работал с JavaScript до версии EC6 знают, что в нем нет явно выделенных инструкций для создание пользовательских классов, при этом вы можете создавать объекты с одинаковым интерфейсом с помощью прототипов.

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

13661829_1143824635655667_4721718632065518396_o

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

В практической части мы проектировали систему, которая использовала бы все принципы ООП. Самыми удачными были примеры модели игрового мира. Спасибо всем, кто присоединился к нам и принимал активное участие. С вами было весело!

13680425_1143824502322347_1011184126867401007_o

13909374_1143824718988992_1276034493080549228_o

Постигайте мастерство владения доступными вам инструментами и да прибудет с вами сила! 😉
13653298_1143824702322327_2031739530496508838_o

Post A Reply