package Ġnet . master z ach 3 2 . timetable . obj Ċ Ċ /** Ċ Ġ* Ġ@ author ĠZ ach ĠK oz ar Ċ Ġ* Ġ@ version Ġ 8 / 7 / 2 0 1 8 Ċ Ġ*/ Ċ class ĠTerm ( val Ġmonth : ĠSession , Ġval Ġyear : ĠString ) Ġ{ ĊĊĠĠĠ Ġconstructor ( code : ĠString ) Ġ: Ġthis ( Session . for Code ( code . substring ( 4 .. 5 )), Ġcode . substring ( 0 .. 3 )) ĊĊĠĠĠ Ġval Ġcode Ġ= Ġ"$ year ${ month . id }" ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġ"${ month . pretty Name } Ġ$ year " ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġis ĠTerm ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis . code Ġ== Ġother . code ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġmonth . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġyear . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġcode . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ }