2013-04-15 3 views
1

생식되지 않는다는 오류를 생성지도에서 확장에 Map에서이 같은 확장 :다트지도의 기본 생성자는 내가 노력하고있어

class TestClass extends Map { 
} 

을 그냥 내가있어 오류가 있음을 수행하여 Constructor '<default>' in class 'Map<dynamic, dynamic>' is not generative.

무엇을해야할지 모르겠다. 나는 이것을 덧붙인다 : TestClass() : super();

나는 여전히 같은 오류가있다.

추가 질문 : 하나는 위의 같은 Map을 확장하거나이 같은 Map의 속성이 새로운 클래스 만들기에 의해, 가장 좋은 방법입니다

:

class TestClass { 
    Map attr; 
} 
+0

지도의 구체적인 하위 클래스를 확장 해 보았습니다. 'Testclass class HashMap ' – DrColossos

+0

을 확장 할 때'HashMap'을 확장 할 때 오류가없고 괜찮아 보이지만'Map'과'HashMap'의 차이점은 무엇입니까? –

답변

1

지도 추상 클래스입니다 (참조 : http://api.dartlang.org/docs/releases/latest/dart_core/Map.html)을 공장에서 (소스 코드를보고) 기본 HashMap 구현을 만듭니다.

는 (당신은 편집기에서 자신이 대부분을 볼 수 오른쪽 클릭하면 "지도"와 "공개 선언"을 선택)

간단히 HashMap의이 클래스의 서브 클래스없는 대한 오류의 팩토리를 호출하면.

하지만 간단히 말해서 HashMap을 서브 클래 싱하는 것이 기본 구현이므로 원하는 것을 제공한다고 생각합니다.

추가 질문 : 해시 맵을 서브 클래 싱하는 것은 안티 패턴 (종종 Java에서, 다트에 관해 더 안전한 경우 나에게 수정하십시오.)과 드물게 당신이하고 싶은 일, 특히 포함이 작동하는 경우에는 수정하십시오. 나는 그것을 권하고 싶다.