Уроки по тегу «oop»
Познакомиться с классом — структурой, которая позволяет создавать объекты. Рассмотреть механизм создания новых объектов с помощью 'new'.
Познакомиться с курсом и с проектом карточной игры, над которым мы будем работать в течение всего курса, по ходу знакомясь с важными концепциями программирования.
Познакомиться с объектами в контексте современного, общепринятого понятия объектно-ориентированного программирования. Понять, как динамическая диспетчеризация дала возможность работать с объектами в ООП.
Разобрать недостатки текущей реализации нашей игры. Разобраться с понятием «помеченных данных», которое является одним из важнейших аспектов всего курса.
Понять, что такое аддитивные программы и как динамическая диспетчеризация поможет нам строить такие программы. Разобраться, что такое диспетчеризация в контексте программирования и типов.
Продумать игровой дизайн нашей карточный игры: как работает игра, как выглядит структура программы и как устроен процесс игры. Проработать поведение программы через тесты.
Познакомиться с понятием полиморфизма в языках программирования. Разобрать три типа полиморфизма.
Улучшить один важный аспект игры, который не позволял нам полноценно тестировать ход игры.
Рассмотреть объекты, встроенные в сам язык JavaScript, с учетом знаний об объектах, которые мы получили ранее. Разобраться с тем, как объекты определяются как константы, но при этом могут изменяться.
Знакомимся с тем, как устроен полиморфизм внутри языка
Знакомимся с ключевым словом static
Разбираемся в том, как модификаторы доступа влияют на наследование
Изучаем формальный способ проверки корректности иерархии
Разбираем ограничения наследования и ищем альтернативные способы работы
Знакомимся с мощным механизмом выделения общего поведения без наследования
Разбираемся, как связаны части разных классов внутри объекта
Учимся переопределять поведение и запрещать это делать
Знакомимся с классами, которые не могут иметь инстансов
Знакомимся с синтаксической возможностью выстраивать иерархии классов
Учимся создавать общее состояние для всех объектов одного прототипа
Знакомимся с разными способами привязки контекста к функциям
Рассматриваем сложности, возникающие при изучении ООП
Выясняем, откуда берется this у стрелочных функций и в чем отличия от обычных функций
Знакомимся с объединением данных и функций в одной структуре
Выясняем, как работают методы у примитивных типов данных
Знакомимся с удобным способом представлять объекты в виде строк
Знакомимся с механизмом прототипов и учимся правильно создавать абстракции данных в JavaScript
Учимся создавать собственные методы и знакомимся с ключевым словом `this`
Учимся разным способам создавать объекты в JS и знакомимся с оператором `new`
Знакомимся с абстракцией, которая скрывает прототипы в программе
Учимся правильно переопределять базовую конфигурацию без создания опасных ситуаций
Знакомимся с основными принципами организации объектов, описывающих предметную область
Обсуждаем способы создания текучего интерфейса
Знакомимся с поэтапной сборкой сложных объектов, композицией и текучим интерфейсом
Знакомимся с объектом Proxy, с помощью которого можно изменять поведение объекта, не меняя код объекта
Знакомимся с одним из базовых принципов проектирования классов
Выясняем, как решают типовые задачи в программировании
Учимся правильно структурировать программу в стиле ООП