IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

Kotlin で継承とキャストを使ってみる

継承元となるクラスは open をつける必要がある。継承先の Catクラスでは Animal の nameプロパティを継承する:

f:id:matt-note:20180921155434p:plain

as を使って、元の Animal型にキャストできる。Animal 型に type プロパティはないので、エラーになる:

f:id:matt-note:20180921155442p:plain

as? 使うことで、無関係な型にキャストした場合に、例外を発生させずに null を返す:

f:id:matt-note:20180921160255p:plain

無関係な Int 型にキャストした場合、as? では null が代入される。