【Flutter/Dart】Object|変数を動的型付け

今回はObject型とは何かについて紹介します。

Objectvarのように変数を宣言・定義する際に使用されます。

\ 世界最大級のオンライン学習サービス /

目次

Object型の定義

Object any = 100;
any = 'Hello World';
print(any);

//結果
//Hello World

Object型で定義された変数には初期化した後に別の型の値を代入できます。

上記コードでは初期化した時の値はint型で後からString型の値を渡していますがエラーは発生しません。(varで定義した場合はエラーが発生)

nullだとエラー発生

Object any;
Object any2 = null;
print(any);

//結果
//Error: The value 'null' can't be assigned to a variable of type 'Object' because 'Object' is not nullable.
//Error: Non-nullable variable 'any' must be assigned before it can be used.

値がnullの場合はエラーが発生します。

同じ動的型付けのdynamic型ではnullでもエラーは発生しません。

プロパティまたはメソッドにアクセスできない

void main() {
  Object object = Hello();
  object.hello();
}

class Hello {
  void hello() => print('Hello World');
}

//結果
//Error: The method 'hello' isn't defined for the class 'Object'.

Object型でオブジェクト化したクラスのプロパティまたはメソッドにアクセスできません。

一緒に読みたい

参考

  • URLをコピーしました!
目次