Kotlin

オブジェクトとクラス - Kotlin入門

ここでは、Kotlin におけるオブジェクト指向についてまとめます。
オブジェクトを生成する方法、インターフェイス、クラスの役割について理解が深まります。

特に、インターフェイスの概念は、Kotlin や Android アプリで有用です。

 

オブジェクト式

Kotlin でオブジェクトを生成するには、キーワード object を使用します。
object のブロック内では、変数や関数(メソッド)を定義できます。

燃料(gas)という変数を持つ車(car)というオブジェクトを生成してみます。

ポイント

Kotlin では、キーワード object によるオブジェクトの生成方法をオブジェクト式と呼びます。

 

データ型とインターフェイスの実装

Kotlin でオブジェクトを生成する方法を紹介しましたが、このままでは使えません。
なぜなら、データ型を持っていないため、2台の車などを同じ定義で扱うことができません。

 

データ型を定義する interface(インターフェイス)

オブジェクトのデータ型を定義するには、interface を使用します。

interface Car と記述して Car というデータ型のインターフェイスを定義しています。
object を生成する時に、コロン「:」 を付けてインターフェースを記述することで、
生成されるオブジェクトが、指定したインターフェイスを実装していることを明示しています。

 

提供するメソッドをインターフェイスにまとめる

インターフェイスと呼ばれるからには、外部とのやり取りを規定する必要があります。

インターフェイス Car に、オブジェクトが提供すべきメソッドをまとめています。
それを上書き(修飾子:override)する形で実装し、データ型 Car を持つオブジェクトを生成します。

 

オブジェクトのインスタンス

データ型を持つオブジェクトを生成できるようになれば、インスタンスとして扱えるようになります。
例えば、「車1」と「車2」のように、同じインターフェイスを持つオブジェクトを複数生成できます。

複数生成するために、Car というデータ型を持つオブジェクトを生成する関数を用意します。

車1と車2が異なる残燃料を示していることから、
Car というデータ型のオブジェクトが複数生成できたことが分かります。

 

クラス

オブジェクト式によるオブジェクトの生成方法を紹介しましたが、クラスのコンストラクタ(constructor)を呼出すことで、クラスに定義したメソッドやプロパティの実装を持つオブジェクトを生成できます。

キーワード class とクラス名を記述することで、クラスを定義することができます。
クラス名を記述して変数に代入することで、CarImpl クラスのオブジェクトを生成しています。
※Impl は Implementation(実装)の略で、インターフェイスの実装クラス名の末尾に付けることが多い。

 

まとめ

  • キーワード object を使ったオブジェクト式で、オブジェクトの実装・生成ができる
  • インターフェイスを定義することで、オブジェクトに「型」を与える
  • インターフェイスには、実装すべきメソッドやプロパティを宣言
  • クラスを定義すると、簡単にオブジェクトを生成できる

 

こちらの記事もよく読まれています

  • この記事を書いた人
  • 最新記事
SANACHAN

SANACHAN

「生涯一エンジニア」を掲げ、大手グローバル企業でSE/PGとして8年勤め、キャリアアップ転職した現役のエンジニアです。世にあるメジャーな全プログラム言語(コボル除く)を自由に扱えます。一児の父。自分のため、家族のため、日々勉強してます。システムエンジニア、プログラミングに関する情報を蓄積している雑記帳です。

-Kotlin
-, ,