Как можно создать экземпляр класса Map, несмотря на то, что он абстрактный - PullRequest
0 голосов
/ 06 апреля 2019

Я новичок в дартс.

Я заметил, что Map - это абстрактный класс, тогда как можно создать его экземпляр, выполнив что-то вроде этого:

final Map map = {};

Может кто-нибудь просветить меня об этом, тогда как же это абстрактный класс?Является ли абстракция в дротике несовместимой с другими языками ООП?

Ответы [ 2 ]

1 голос
/ 06 апреля 2019

«Карта» сама по себе является абстрактным классом, но в Dart вы можете предоставить конкретную реализацию «по умолчанию» абстрактного класса, используя конструктор Factory.

Чтобы создать экземпляр Map через конструктор Factory.:

final Карта карты = Карта ();

См. Документацию класса карты дротиков:

Constructors

Map()
    Creates a Map instance with the default implementation, LinkedHashMap. [...]
    factory

из https://api.dartlang.org/stable/2.2.0/dart-core/Map-class.html

0 голосов
/ 06 апреля 2019

Невозможно создать экземпляр абстрактного класса, потому что он ... абстрактный или неполный.Ваш вопрос не ясен, и я не уверен, откуда вы взяли это утверждение, но я смею сказать, что вы неправильно поняли, что-то читали где-то.

...