⇤ ← Версия 1 от 2013-12-14 19:07:01
2662
Комментарий:
|
2934
|
Удаления помечены так. | Добавления помечены так. |
Строка 13: | Строка 13: |
1. Модифицировать «графический редактор»: * Добавить и задействовать класс `Circle` для рисования окружности (унаследовать его от `Line`, обратите внимание, что даже метод `redraw()` годится!) |
1. Модифицировать «[[attachment:2013-12-13-greditor.py|простейший графический редактор]]»: * Обратите внимание на то, как в методе `__init__()` класса `Line` вызывается метод `__init__()` класса `Dot` * Добавить и задействовать класс `Circle` для рисования окружности (унаследовать его от `Line`, заметьте, что даже метод `redraw()` не придётся переписывать!) |
Строка 17: | Строка 18: |
* Сделать цвет объекта полем и передавать его при `__init__()` | * Сделать цвет объекта полем и передавать его при `__init__()` во все объекты |
Классы и объекты, подход второй
Разбор «первого практикума про классы»
Использование классов и их наследования на примере простейшего графического редактора
Домашнее задание
Прочитать про классы в учебнике (лучше начать прямо с раздела Первый взгляд на классы)
Модифицировать «простейший графический редактор»:
Обратите внимание на то, как в методе __init__() класса Line вызывается метод __init__() класса Dot
Добавить и задействовать класс Circle для рисования окружности (унаследовать его от Line, заметьте, что даже метод redraw() не придётся переписывать!)
Добавить и задействовать класс Polygon для рисования многоугольника-ломаной. Трудность: в многоугольнике неизвестно сколько точек (скажем, не больше 1000). Вариант решения: отличать событие «ввод фигуры закончен» и добавить соответствующий метод сразу во все классы; в Polygon этот метод будет менять ndots
Добавить ещё какие-нибудь классы, насколько фантазии хватит: например, непараллельный сторонам экрана квадрат (по диагонали), эллипс (по трём точкам) и т. п.
Сделать цвет объекта полем и передавать его при __init__() во все объекты
реализовать выбор цвета (подсказка: surface.get_at())
Условные обозначения
— тема по Linux
— тема повышенной сложности
— теоретическое задание
— тема для самостоятельного изучения