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

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

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

  2. Модифицировать «графический редактор»:
    • Добавить и задействовать класс Circle для рисования окружности (унаследовать его от Line, обратите внимание, что даже метод redraw() годится!)

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

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

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

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

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


CategoryClass CategoryVmsh