【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
クラスの書き換えで、どのような順番で処理が行われているか、追えなくなりました。 下記のような順番で処理が行われているという理解でよろしいでしょうか? また、draw(angle, func) と this.drawer.draw(angle, ctx => {}) の部分で、どのような手順で処理が進んでいるか、補足していただきたいです。
draw(angle, func)
this.drawer.draw(angle, ctx => {})
new ClockDrawer(canvas)
ClockDrawer
constructor(canvas)
new Clock
drawer
constructor(drawer)
clock.run();
this.drawFace();
drawFace
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
クラスの書き換えで、どのような順番で処理が行われているか、追えなくなりました。
下記のような順番で処理が行われているという理解でよろしいでしょうか?
また、
draw(angle, func)とthis.drawer.draw(angle, ctx => {})の部分で、どのような手順で処理が進んでいるか、補足していただきたいです。new ClockDrawer(canvas)をインスタンス化する。ClockDrawerクラスのconstructor(canvas)で初期化が実行。new Clockでインスタンス化する。(この時、引数に①のインスタンスを受け取る=drawer)constructor(drawer)で初期化が実行。clock.run();でthis.drawFace();のメソッドが実行。drawFaceメソッド内で、①のインスタンスで受け取ったdraw(angle, func)メソッドを実行。