Closed9

dart関連

こなちーずこなちーず

これちゃんと理解して記事書きたい
https://dart.dev/tools/linter-rules/hash_and_equals

こなちーずこなちーず

まとめ
・ルールとして==をoverrideするならhashCodeもoverrideしないといけない(逆にhashCodeをoverrideした場合は==のoverrideを'推奨')
・other is Better && (型(静的)がBetterであること)
other.runtimeType == runtimeType (型(動的・実行時)が同じであること)
 のチェックは必須ぽい
・hashCodeの値は任意に変更できるのでうまく使えばいろんな==を実装できそう、逆にこだわりなければメンバ変数とかのhashCodeでいい
https://dart.dev/libraries/dart-core#utility-classes

別に記事にせんでええかも

こなちーずこなちーず

dartはオーバーロードを許さない代わりにオプション引数で代替できるようにしている、という考え方?公式のドキュメント読みたいな
https://jp-seemore.com/app/16892/#toc8

こなちーずこなちーず

overloadを実装するのに一番簡単なのはたぶんObjectを引数で持ってisで型ごとに処理を分けることだが、それは実行時パフォーマンスを悪くするのでできるだけ避けるべき(公式)→最初の記事のようなやり方で実装するのも手

このスクラップは2024/01/05にクローズされました