Dartのアクセス修飾子

Dartにはアクセス修飾子がありません。その代わり、メンバの名前で可視性を与えることができます。メンバの名前が_から始まるものは、いわゆるprivateな可視性となります。それ以外の名前は、いわゆるpublicな可視性となります。

Dartの継承

Dartでは、extendsキーワードを用いてクラスの継承を行うことができます。単一継承のみ可能で、多重継承はできません。

Dartのidentical

identicalを用いて、参照の等価性を評価することができます。identicalはdart:coreに含まれています。

Dartのコンストラクタ

Dartにおけるコンストラクタの最も原始的な構文は以下のように書けます。コンストラクタの引数としてString型のパラメータnameを受け取り、コンストラクタの本体の中でメンバ変数に代入しています。

Kotlinのコンストラクタ

プライマリコンストラクタ クラス名の後の括弧内にプライマリコンストラクタに渡す引数を定義することができます。プライマリコンストラクタに引数を渡す必要がない場合は省略可能です。プライマリコンストラクタに渡した引数は、プロパティの宣言と初期化ブロックの中でアクセスすることが可能です。

Kotlinの基本的な型

Kotlinでは全てはオブジェクトであり、Javaにあるようなプリミティブはありません。以下に挙げるような基本的な型もオブジェクトとして扱われます。ただし、これらの基本的な型はコンパイル時にプリミティブへと最適化されるため、パフォーマンスが犠牲になることはありません(総称型の型パラメータで使われている場合など、一部例外はある)。

Kotlinのnullableな型とnon-nullな型

Kotlinでは、nullとなり得る変数とnullとなり得ない変数を区別して扱います。これにより、変数がnullになり得るか、なり得ないかを型のレベルで区別して取り扱うことが可能です。ここでは、nullとなり得る変数をnullableな変数、nullになり得ない変数をnon-nullな変数と呼びます。

Kotlinでの変数の宣言

varによる変数の宣言 varキーワードを用いて変数を宣言することができます。varキーワードを用いた変数の宣言は、以下の構文で行います。