Slide 11
Slide 11 text
© 2025 ANDPAD All Rights Reserved. Confidential
Confidential 11
継承による、リサイズ処理の共通化
直線と矢印は見た目が異なるが、「リサイズ」や「移動」の処理は共通なので、基底クラスを実装し
て処理を共通化。
共通化できない点はそれぞれのサブクラスで実装。
class ResizableLineDrawingLayer: DrawingLayerProtocol {
func updateLength() {
// 長さを更新
}
func move() {
// オブジェクトの移動
}
// 他、サイズ変更のポインターを描画する処理など
func draw() {
assert(false, "Implement in sub-class!")
}
}