Julia では文字列化 の定義も Base.show() の多 重定義(=メソッド追 加)で担う abstract type AbstractTime end function gethour end function getminute end function getsecond end function Base.show(io::IO, time::AbstractTime) print(io, string(gethour(time), pad=2), ':', string(getminute(time), pad=2), ':', string(getsecond(time), pad=2)) end
getmillisecond() のデフォルト実装も用 意しておく(後で説 明) abstract type AbstractTime end function gethour end function getminute end function getsecond end # ↓のデフォルト実装も先にしておく getseconds(time::AbstractTime) = (gethour(time) * 60 + getminute(time)) * 60 + getsecond(time) getmillisecond(::AbstractTime) = 0