Kotlin

【Kotlin入門】クラスの基本構造(変数、関数、継承)

Kotlin のクラスは他の言語と同じような構成なので多く語ることはありません。

しかし、少しだけ書き方に特徴のある部分もあるのでそこだけチェックしておきます。

プロパティ(フィールド変数)

クラス内で定義する変数です。

フィールド変数の方がしっくりくるのですが、最近はプロパティという呼び名をよく耳にします。

インスタンス化した場合、get() や set() のアクセサは定義不要なので、値を直接操作することができます。

hoge.name で直接 name に値を代入しています。

結果は以下の通りです。

カオルさん

メソッド

クラス内で定義する関数です。

以前「【Kotlin入門】自分で関数を定義する方法」で紹介した通り、関数の定義は fun になります。

【Kotlin入門】自分で関数を定義する方法ここまでは Kotlin の標準で用意されている関数を使ってきましたが、開発を進めていく上で標準の関数では対応できないものがでてきます。...

明示的に何もつけなければ final 扱いとなりますが、自分が親クラスとなり子クラスにオーバーライドして欲しいメソッドとなる場合は open を付けておきましょう。

継承

メソッドの部分でも触れましたが、Kotlin でも定義したクラス間で継承関係を作ることができます。

最近は、継承を多用することを避ける傾向にあるように見受けられますが、効率化できるところは継承でカバーしておきたいですよね。

Kotlin の場合は、親クラスとなれるクラスは open を付けてクラスを作成します。

また、子クラスから親クラスを継承する場合はクラス名の後にコロンで親クラスを指定します。

サンプルプログラム

これまでに紹介してきた要素を使ってサンプルプログラムを作成してみました。

効果的なクラスではないので、その辺はご了承ください。
(完全にリファクタリングが必要なクラスです)

あと、リラックマを知らない人にはなんのことかわからないかもしれませんね・・・。
(サンプルの題材が失敗)

実行結果は以下の通りです。

リラックマは着ぐるみのクマで、好きなものはだんごです。
いつもダラダラしているだけではありませんよ。

コリラックマは白いクマで、好きなものはイチゴです。
いたずら大好きな可愛い存在で、こぐまちゃんと一番の仲良しです。

キイロイトリはカオルさんのトリで、好きなものはお金です。
いつも一生懸命お掃除してる頑張り屋さんです。
犬が苦手ですが犬の方は仲良くしたいみたい。