Closed9
dart関連
これちゃんと理解して記事書きたい
overrideするから引数の型はObjectじゃないとダメ
(自分が作ったクラスの型にすると「The member being overridden」と怒られる)
→よって、other is xxxの判定が必要
ちなみにObject operator !=は存在しない??必要ないけど
まとめ
・ルールとして==をoverrideするならhashCodeもoverrideしないといけない(逆にhashCodeをoverrideした場合は==のoverrideを'推奨')
・other is Better && (型(静的)がBetterであること)
other.runtimeType == runtimeType (型(動的・実行時)が同じであること)
のチェックは必須ぽい
・hashCodeの値は任意に変更できるのでうまく使えばいろんな==を実装できそう、逆にこだわりなければメンバ変数とかのhashCodeでいい
別に記事にせんでええかも
dartはオーバーロードを許さない代わりにオプション引数で代替できるようにしている、という考え方?公式のドキュメント読みたいな
このスクラップは2024/01/05にクローズされました