クラスの基本 (1/7)
作成:2018-04-14 08:23
更新:2018-04-14 08:23
更新:2018-04-14 08:23
■クラス の定義
JavaScriptとDartとのもっとも大きな違いは「クラス」にあるかも知れません。ES6(ECMAScript 6)ではclassによるクラス定義がサポートされていますが、やはりJavaScriptといえば、プロトタイプベースの独特の方式を思い浮かべることでしょう。
Dartは、クラスによるオブジェクト指向をサポートしています。これは、以下のように記述をします。
クラスは、classというキーワードを使って定義をします。その後にはクラス名を指定し、更にその後に{}記号を用意して、その中にクラスの具体的な内容を記述します。
では、クラスの内容というのは一体どのようなものなのか。それは簡潔にいえば「インスタンス変数」と「メソッド」です。この2つのものだけがクラスの中に用意できます。
・インスタンス変数
後述しますが、クラスというのは「インスタンス」という実際に操作をするオブジェクトを作って利用をします。この実際に操作するオブジェクトの中で、値を保持するために用意されるのが「インスタンス変数」です。
これは、クラス定義の中に用意される変数です。普通に{}内に変数の宣言を用意すれば、それがインスタンス変数となります。特別な設定などはありません。ごく普通の変数を用意するだけです。
・メソッド
クラス内に用意する「処理」を定義しておくものです。これは、クラス定義内に用意される「関数」と考えて下さい。{}内に関数の定義を記述しておけば、それがメソッドとなります。特別なものはありません。要するに「クラスの中に置いてある関数のことをメソッドと呼ぶんだ」と考えておくと良いでしょう。
なお、一般的なメソッドは、「インスタンスメソッド」と呼ばれたりすることもあります。これは、クラスメソッドという、ちょっと特殊なメソッドと区別するためです。(クラスメソッドについては改めて説明します)
Dartは、クラスによるオブジェクト指向をサポートしています。これは、以下のように記述をします。
class クラス名 {
……クラスの内容……
}
クラスは、classというキーワードを使って定義をします。その後にはクラス名を指定し、更にその後に{}記号を用意して、その中にクラスの具体的な内容を記述します。
■インスタンス変数とメソッド
では、クラスの内容というのは一体どのようなものなのか。それは簡潔にいえば「インスタンス変数」と「メソッド」です。この2つのものだけがクラスの中に用意できます。
・インスタンス変数
後述しますが、クラスというのは「インスタンス」という実際に操作をするオブジェクトを作って利用をします。この実際に操作するオブジェクトの中で、値を保持するために用意されるのが「インスタンス変数」です。
これは、クラス定義の中に用意される変数です。普通に{}内に変数の宣言を用意すれば、それがインスタンス変数となります。特別な設定などはありません。ごく普通の変数を用意するだけです。
・メソッド
クラス内に用意する「処理」を定義しておくものです。これは、クラス定義内に用意される「関数」と考えて下さい。{}内に関数の定義を記述しておけば、それがメソッドとなります。特別なものはありません。要するに「クラスの中に置いてある関数のことをメソッドと呼ぶんだ」と考えておくと良いでしょう。
なお、一般的なメソッドは、「インスタンスメソッド」と呼ばれたりすることもあります。これは、クラスメソッドという、ちょっと特殊なメソッドと区別するためです。(クラスメソッドについては改めて説明します)
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ