Как использовать переопределенные методы, определенные в классе, в другом классе?
У меня есть некоторые проблемы в упражнении, которое я делаю для курса графических интерфейсов. Я пишу программу на F#, определенную следующим образом:
- У меня есть класс A, в котором я переопределяю метод OnPaint;
- У меня есть другой класс B, в котором я переопределяю метод OnPaint, методы OnMouse[Down/Move/Up] и т. Д.
Я бы использовал переопределенный метод OnPaint в A в переопределенный метод OnPaint, определенный в B (очевидно, метод OnPaint в A определен в классе A, что означает, что мне нужно создать экземпляр объекта типа A).
Мой вопрос: как я могу это сделать? Нужно ли обязательно определять метод в A, в котором я передаю параметр PaintEventArgs.Graphics с теми же задачами метода OnPaint для A вместо переопределения метода OnPaint в A?
Пример: я должен сделать что-то вроде этого:
type Ellipse() =
...
override this.OnPaint e =
e.Graphics.DrawEllipse(10.f, 10.f, 30.f, 30.f)
type classThatUseEllipse() =
let ell = new Ellipse()
...
override this.OnPaint e =
ell.OnPaint(e)
Или как то так?
type Ellipse() =
...
let myOnPaint (e:PaintEventArgs) =
e.Graphics.DrawEllipse(10.f, 10.f, 30.f, 30.f)
type classThatUseEllipse() =
let ell = new Ellipse()
...
override this.OnPaint e =
ell.myOnPaint(e)
Или эти две версии одинаковы?
Я спрашиваю об этом, потому что часто первая версия давала проблемы.