На этом уроке мы создалим "универсальный" класс Crosser, который сможет проверять на столкновение "любых" двух Игроков. Конечно не любых, а только двух наших Box и Circle. Это яркий способ, чего стоит избегать в программах. Потому что тут не добавляется универсальности, т.к. при добавлении новых объектов придётся дописывать кучу новых функций на сравнение.
Самостоятельное задание - записать видеообзор своего проекта и рассказать, что такое Interface.
Дата отправки отчёта:
29 октября 2017 г.
Задание выполнено: за
5 час. 00 мин.
Чему научился:
Научился много чему, ну самое главное понял предназначения Интерфейсов.
Что было сложным:
сложностей в основном не было, но не знания математики сказываются.
Комментарии:
Вторая часть курса "Интерфейсы" получилась шикарная. Я даже кажется наконец понял предназначения интерфейсов )
Вообще можно было Circle и Box привести к абстрактному классу Figure, и тогда не нужен был бы интерфейс, а приводить все к абстрактному классу Figure. А если вдруг у нас есть спрайт апельсина, который тоже хочет играть, тогда что ? Вот теперь нужно в абстрактном классе реализовать интерфейс (точнее даже преобразовать методы внутри интерфейса в абстрактные методы, а в производных классах реализовать) и также реализовать интерфейс в спрайте апельсина.
А вдруг у нас будет еще Треугольник который не должен уметь играть, что тогда ? Тогда надо интерфейс из абстрактного класса убрать, а реализовать только в circle и box, тогда все будет ок!
Если я все правильно понял, главная задача интерфейсов приведения(разных) объектов к одному типу.
Еще раз спасибо Евгению за шикарный урок по Интерфейсам ;)
Научился: интерфейс - класс, методы которого созданы абстрактными и могут быть реализованы в классе, наследующем этот интерфейс Трудности: 15 минута видео (в чате):
Neverwinter@All: о, госпади... люди, зачем мы это попросили??
Тот вебинар, судя по комментариям, продолжался уже 6 (ШЕСТОЙ) час!
Это какая-то Спарта от сишарпа...
Научился: Немного изменил интерфейс программы, добавил возможность выбора игры, очистки игрового поля и добавление необходимого количество кружков или квадратиков.