Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Теория ООП / Инкапсуляция мечты

  • Курс по теории Объектно-ориентированного программирования.
    С нуля создаётся проект по рисованию различных геометрических фигур,
    которые потом объединяются в спрайты, взаимодействуют друг с другом.

    Во время создания проекта постоянно применяется рефакторинг кода,
    при этом демонстрируются приёмы Объектно-ориентированного программирования.

    Во второй части курса мы проработаем понятие Интерфейса.

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


Отчёт от 16533 за Теория ООП / Инкапсуляция мечты




Оцени работу

 
Сохранить страницу:

7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Андрей Шевченко  # Теория ООП / Инкапсуляция мечты / 2018-01-18 05:59

А все в жизни инкапсулировано. Например пульт управления - все электронные компоненты от нас скрыты - только кнопки. Или же автомобиль - мы можем управлять с помощью руля и педалей - все остальные кишки инкапсулированы.


16533. --
Андрей Шевченко
Андрей Шевченко
ответить
→  Новопашин Владимир  # Теория ООП / Инкапсуляция мечты / 2018-01-18 12:21

Спасибо за разъяснение. Теперь стало понятнее)


9752. --
chokayes
chokayes
ответить
→  Андрей Шевченко  # Теория ООП / Инкапсуляция мечты / 2018-01-18 14:48

Еще понятнее станет дальше, когда пойдут геттеры и сеттеры. Я вообще инкапсуляцию с этого начинал бы показывать. )


16533. --
Андрей Шевченко
Андрей Шевченко
ответить
→  chokayes  # Теория ООП / Инкапсуляция мечты / 2018-01-18 19:39

Про геттеры и сеттеры ты шутишь или серьезно? В видеоуроках встречал уже эти понятия, но почти ничего не понял. Какой-то темный лес. Единственное, что понял, это то, что вроде бы этими геттерами и сеттерами регулируется будет ли какой-то параметр изменяться извне, либо он будет доступен только для чтения. В общем как-то так =)


9752. --
chokayes
chokayes
ответить
→  Андрей Шевченко  # Теория ООП / Инкапсуляция мечты / 2018-01-18 20:13

Конечно серьезно. Класс, если упрощенно - это набор полей и методов.  К примеру, поля мы делаем приватными, т.е. недоступными извне напрямую,  включаем инкапсуляцию другими словами, а доступ к ним даем на чтение(через геттеры) и изменение(через сеттеры) , т.е. предоставляем "интерфейс" взаимодействия с нашим объектом. Фишка вся в том, что мы контролируем доступ ко всем полям и можем в сеттере дополнительную логику реализовать, например поставить условие, чтобы  нашему полю отрицательное значение не присвоили. Можем вообще все внутри нашего класса переписать, кроме геттеров и сеттеров и нам вообще в других классах, которые используют наши поля,  менять ничего не надо будет.  Поэтому даже стандартные, генерируемые автоматом геттеры и сеттеры предпочтительно использовать как задел на будущее, вдруг что-то помеять захочешь в классе. Кратко вся суть в этом. Как я понимаю. ) А в уроках, которые были, там вот именно, делали поля приватными, но с ними же надо как-то работать извне, поэтому и нужны геттеры и сеттеры. Там вроде только геттеры разрешали, чтобы получить хотя бы значение.


16533. --
Андрей Шевченко
Андрей Шевченко
ответить
→  chokayes  # Теория ООП / Инкапсуляция мечты / 2018-01-18 20:17

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


  • Отчёт оценивали:
    3922Александр+1   8707Володимир+1   6452Кирилл Шмойлов+1   10558Иван Воронин+1   7119Новопашин Владимир+1   10167Игорь+1   9156Dimon+1   4395Денис+1   16903andrey+1   9980Timoha+1   4814Дмитрий+1   1Евгений Волосатов+1   11582Родион+1   10670Сергей Соколов+1   9752chokayes+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Инкапсуляция - это взаимодействие с объектом через интерфейс без возможности влезть внутрь. Научился создавать заготовку приложения. Добавлять иконку приложения. Понятию инкапсуляции.
Трудности: Поставить VS. Триал закончился.(



Научился: узнал что такое инкапсуляция
Инкапсуляция - это объект, который содержит в себе другие объекты, которые выполняют разные действия