Курс по теории Объектно-ориентированного программирования. С нуля создаётся проект по рисованию различных геометрических фигур, которые потом объединяются в спрайты, взаимодействуют друг с другом.
Во время создания проекта постоянно применяется рефакторинг кода, при этом демонстрируются приёмы Объектно-ориентированного программирования.
Во второй части курса мы проработаем понятие Интерфейса.
Выдержка из отчёта Ларисы по завершению курса. 1) Получила представление о методах ООП - инкапсуляции, полиморфизме и наследовании. Эти три "кита" позволяют изменять и усложнять программы, добавляя в них новые возможности; 2) Научилась рисовать простые геометрические фигуры; 3) Создавать базовые и производные классы; 4) Создавать структуры и работать с пикселями; 5) Создавать фигуры из массива простых фигур в том числе и в цвете; 6) Передвигать простую фигуру; 7) Создавать класс объектов Sprite, являющийся производным от базового абстрактого класса Shape, а в нем список List, который содержит произвольное число фигур и функцию, которая добавляет фигуру, а также метод Move, который двигает её; 8) Освоила BreakPoint, который дает возможность проследить переходы в классе и связи между классами; 9) Познакомилась с абстрактыми и виртуальными методами в абстрактном базовом классе и методами override в производных классах. Совокупность этмх методов позволяет передвигать сложные фигуры как целое.
Дата отправки отчёта:
25 августа 2015 г.
Задание выполнено: за
10 мин.
Чему научился:
Возможно чему-то и научился :)
Что было сложным:
Ничего.
Комментарии:
Мне кажется нужно немного по-другому объяснить что такое инкапсуляция, мне смысл понятен что вы хотели донести, но если бы я первый раз столкнулся с этим понятием, то вряд ли бы понял. Скомкано получилось. Робот, кнопки, ремонт, хитпоинты. Или, может я сейчас-под вечер невнимательный слушатель На примере вещей из реального мира или других программ, то что инкапсуляция скрывает редактирование параметров/свойств от посторонних рук. Например, пользователь нажимая на кнопку "Свернуть окно", даже и не подозревает как оно работает изнутри, потому что это инкапсулировано/скрыто от него. Например я, нажимая на педаль газа могу и не подозревать как она работает, а это целый механизм скрытый от моих глаз, мы берем машину не для того, чтобы разбираться как устроены в ней системы, а для того, чтобы она выполняла кучу инкапсулированных от меня функций, то есть ехала, при каждом нажатии на любую педаль или поворот руля срабатывает множество механизмов и датчиков, о которых нам знать не надо, так же у этих механизмов и датчиков есть куча свойств, они заложены производителем и сами мы не можем их изменить. Или нажимая на кнопку спуска воды в унитазе срабатывает механизм обладающий своими параметрами, устройством, о которых нам знать не надо, нам надо просто спустить воду. Или лвл дизайнер расставляя объекты по карте не задумывается о том, как эти объекты созданы и как их изготовили это от него скрыто/инкапсулировано. Или один программист разрабатывает серверную часть программы, а другой клиентскую, ни один из них практически не знает как устроена часть программы другого программиста, он просто использует функции, которые оставил для него другой программист.
Научился: Инкапсуляция - это взаимодействие с объектом через интерфейс без возможности влезть внутрь. Научился создавать заготовку приложения. Добавлять иконку приложения. Понятию инкапсуляции. Трудности: Поставить VS. Триал закончился.(