Различия между версиями 2 и 3
Версия 2 от 2013-12-14 19:21:51
Размер: 2934
Редактор: FrBrGeorge
Комментарий:
Версия 3 от 2013-12-14 19:27:20
Размер: 2933
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 17: Строка 17:
   * <!> Добавить ещё какие-нибудь классы, насколько фантазии хватит: например, непараллельный сторонам экрана квадрат (по диагонали), эллипс (по трём точкам) и т. п.    * {*} Добавить ещё какие-нибудь классы, насколько фантазии хватит: например, непараллельный сторонам экрана квадрат (по диагонали), эллипс (по трём точкам) и т. п.
Строка 19: Строка 19:
  * <!> реализовать выбор цвета (подсказка: `surface.get_at()`)    * {*} реализовать выбор цвета (подсказка: `surface.get_at()`)

Классы и объекты, подход второй

Домашнее задание

  1. {i} Прочитать про классы в учебнике (лучше начать прямо с раздела Первый взгляд на классы)

  2. Модифицировать «простейший графический редактор»:

    • Обратите внимание на то, как в методе __init__() класса Line вызывается метод __init__() класса Dot

    • Добавить и задействовать класс Circle для рисования окружности (унаследовать его от Line, заметьте, что даже метод redraw() не придётся переписывать!)

    • Добавить и задействовать класс Polygon для рисования многоугольника-ломаной. Трудность: в многоугольнике неизвестно сколько точек (скажем, не больше 1000). Вариант решения: отличать событие «ввод фигуры закончен» и добавить соответствующий метод сразу во все классы; в Polygon этот метод будет менять ndots

    • {*} Добавить ещё какие-нибудь классы, насколько фантазии хватит: например, непараллельный сторонам экрана квадрат (по диагонали), эллипс (по трём точкам) и т. п.

    • Сделать цвет объекта полем и передавать его при __init__() во все объекты

    • {*} реализовать выбор цвета (подсказка: surface.get_at())

Условные обозначения

  • {o} — тема по Linux

  • <!> ­— тема повышенной сложности

  • {i} — теоретическое задание

  • {*} — тема для самостоятельного изучения


CategoryClass CategoryVmsh

LecturesVMSH/Python/2013-12-13 (последним исправлял пользователь FrBrGeorge 2013-12-20 14:21:07)