2016-08-27 4 views
1

다트를 배우고 있습니다. 내가 다음 코드를 쓰고 때 :'String'유형의 값을 'Hero'유형의 변수에 할당 할 수 없습니다.

class Hero 
{ 
    String name; 

    Hero(this.name); 
} 

class AppComponent 
{ 
    String title = 'header'; 
    Hero hero = 'Windstorm'; 
} 


Hero hero = new Hero('test'); 

을 나는 오류가 점점 오전 : A value of type 'String' cannot be assigned to a variable of type 'Hero'합니다.

내가 뭘 잘못하고 있니?

+2

작동 메시지 '유형의 값'문자열 '유형의 변수에 할당 할 수 없습니다'Hero'' 많이 설명이다. 물론 영어를 아는 사람이라면. 아주 심각한 질문은 아닙니다. – mezoni

답변

7

문제는이 줄 것 같다 :

Hero hero = 'Windstorm'; 

영웅 형 영웅이다. 'Windstorm'은 String 유형입니다. 그래서 다른 사람에게 할당 할 수 없습니다.

이 작업을 시도 할 수 있습니다 :

Hero hero = new Hero('Windstorm'); 

당신이 '시험'과의 마지막 줄에서했던 것처럼.

문자열을 인수로 취하는 Hero 클래스의 생성자가 있으면 작동합니다. 다음은 샘플

+0

하지만 내 코드는 https://angular.io/docs/dart/latest/tutorial/toh-pt1.html 오류가 있습니까? –

+0

누군가 다른 사람이 확인할 수는 있지만 그렇게 생각합니다. 나중에 그들은 영웅을위한 클래스를 만들고 생성자를 사용합니다. 제품 견적 : "우리는 영웅을 문자열에서 개체로 변경했기 때문에 ... 마치 문자열로 사용 된 것처럼 보입니다. (나는 Dart와 대단히 친숙하지 않다 : $) – Leon

+0

보고서를 보내 주셔서 감사합니다! 그 튜토리얼의 저자에게 의도적 인 버그가 있는지 물어 봤습니다. –

-1

, 그건

export class AppComponent { 

hero = new Hero('windstrom'); 
} 

export class Hero 
{ 
    name: string; 

    constructor(Name: string){ 
    this.name =Name; 
    } 
} 

let hero = new Hero('test'); 

나에게로

+0

그건 TS 코드, 질문에 대한 다트 –