I want to make a class to group some static const
values.
// SomeClass.dart
class SomeClass {
static const SOME_CONST = 'some value';
}
What is the idiomatic way in dart to prevent dependent code from instantiating this class? I would also like to prevent extension to this class. In Java
I would do the following:
// SomeClass.java
public final class SomeClass {
private SomeClass () {}
public static final String SOME_CONST = 'some value';
}
So far all I can think of is throwing an Exception
, but I'd like to have compile safety as opposed to halting code in run-time.
class SomeClass {
SomeClass() {
throw new Exception("Instantiation of consts class not permitted");
}
...
Giving you class a private constructor will make it so it can only be created within the same file, otherwise it will not be visible. This also prevents users from extending or mixing-in the class in other files. Note that within the same file, you will still be able to extend it since you can still access the constructor. Also, users will always be able to implement your class, since all classes define an implicit interface.