クラス修飾子のリファレンス
このページには、クラス修飾子のリファレンス情報が含まれています。
有効な組み合わせ
#クラス修飾子の有効な組み合わせと、その結果として得られる機能は以下のとおりです。
宣言 | 構築? | 拡張? | 実装? | ミックスイン? | 網羅的? |
---|---|---|---|---|---|
class | はい | はい | はい | いいえ | いいえ |
base class | はい | はい | いいえ | いいえ | いいえ |
interface class | はい | いいえ | はい | いいえ | いいえ |
final class | はい | いいえ | いいえ | いいえ | いいえ |
sealed class | いいえ | いいえ | いいえ | いいえ | はい |
abstract class | いいえ | はい | はい | いいえ | いいえ |
abstract base class | いいえ | はい | いいえ | いいえ | いいえ |
abstract interface class | いいえ | いいえ | はい | いいえ | いいえ |
abstract final class | いいえ | いいえ | いいえ | いいえ | いいえ |
mixin class | はい | はい | はい | はい | いいえ |
base mixin class | はい | はい | いいえ | はい | いいえ |
abstract mixin class | いいえ | はい | はい | はい | いいえ |
abstract base mixin class | いいえ | はい | いいえ | はい | いいえ |
mixin | いいえ | いいえ | はい | はい | いいえ |
base mixin | いいえ | いいえ | いいえ | はい | いいえ |
無効な組み合わせ
#特定の修飾子の組み合わせは許可されていません
組み合わせ | 理由 |
---|---|
base 、interface 、final | すべてが同じ 2 つの機能 (extend と implement ) を制御するため、相互に排他的です。 |
sealed と abstract | どちらも構築できないため、一緒にするのは冗長です。 |
sealed と base 、interface 、または final | sealed 型は、別のライブラリからミックスイン、拡張、または実装することはすでにできないため、リストされた修飾子と組み合わせるのは冗長です。 |
mixin と abstract | どちらも構築できないため、一緒にするのは冗長です。 |
mixin と interface 、final 、または sealed | mixin または mixin class 宣言は、ミックスインすることを意図しており、リストされた修飾子はそれを妨げます。 |
enum と任意の修飾子 | enum 宣言は拡張、実装、ミックスインできず、常にインスタンス化できるため、enum 宣言には修飾子は適用されません。 |
extension type と任意の修飾子 | extension type 宣言は拡張またはミックスインできず、他の extension type 宣言によってのみ実装できます。 |
特に明記されていない限り、このサイトのドキュメントは Dart 3.5.3 を反映しています。ページの最終更新日: 2024-08-04。 ソースを表示 または 問題を報告。