2022-03-29 09:52:34 +03:00
|
|
|
|
//в однопоточном приложении будет единственный экземпляр некоторого класса,
|
|
|
|
|
//и предоставляющий глобальную точку доступа к этому экземпляру.
|
|
|
|
|
|
2022-03-01 10:30:23 +03:00
|
|
|
|
class Me {
|
|
|
|
|
static final Me _singleton = new Me._internal();
|
2022-03-29 09:52:34 +03:00
|
|
|
|
static final String _name = "Андрей";
|
2022-03-01 10:30:23 +03:00
|
|
|
|
|
|
|
|
|
factory Me() {
|
|
|
|
|
return _singleton;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static String get name => _name;
|
2022-03-29 09:52:34 +03:00
|
|
|
|
|
2022-03-01 10:30:23 +03:00
|
|
|
|
@override
|
2022-03-29 09:52:34 +03:00
|
|
|
|
String toString() => "Привет, меня зовут $name.";
|
2022-03-01 10:30:23 +03:00
|
|
|
|
|
|
|
|
|
Me._internal();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
|
var tyler = Me();
|
|
|
|
|
var anotherTyler = Me();
|
2022-03-29 09:52:34 +03:00
|
|
|
|
|
2022-03-01 10:30:23 +03:00
|
|
|
|
print(tyler);
|
|
|
|
|
print(anotherTyler);
|
|
|
|
|
|
|
|
|
|
var samenessCheck = identical(tyler, anotherTyler)
|
2022-03-29 09:52:34 +03:00
|
|
|
|
? "Мы один и тот же ${Me.name}."
|
|
|
|
|
: "Мы даже не похожи.";
|
2022-03-01 10:30:23 +03:00
|
|
|
|
print(samenessCheck);
|
|
|
|
|
|
|
|
|
|
/*
|
2022-03-29 09:52:34 +03:00
|
|
|
|
Привет, меня зовут Андрей.
|
|
|
|
|
Привет, меня зовут Андрей.
|
|
|
|
|
Мы один и тот же Андрей.
|
2022-03-01 10:30:23 +03:00
|
|
|
|
*/
|
|
|
|
|
}
|