如何解决Dart 向下转型
我需要在 dart 中做一个低头。例如,从 Object 到 int 是可能的,但我无法用我自己的类来做到这一点。难道我做错了什么?或者正确的做法是怎样的?
class Person {
final String name;
final int age;
Person(this.name,this.age);
}
class CoolPerson extends Person {
CoolPerson(String name,int age): super(name,age);
int someFunction() {
return name.length * age;
}
}
main() {
Object x = 42;
int i = x as int;
print('Im $i');
Person person = Person('Peter',30);
CoolPerson coolPerson = person as CoolPerson;
print('Im ${coolPerson.name}');
}
这段代码的结果是:
我 42 岁
未捕获的错误:TypeError:“Person”的实例:“Person”类型不是“CoolPerson”类型的子类型
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。