如何解决Flutter dart 调用 super 的超类方法
这是我的架构,我有两个 statfull 小部件:ProfilePicture,RoundedProfilePicture
。 ProfilePicture
是一个有状态的小部件,它有复杂的自定义代码,很容易出错,所以我不想复制粘贴它,它利用了 Picture
抽象类中的变量。 (即获取服务器数据并将它们存储在 Picture
的变量中)。我想要做的是我想从这个小部件状态扩展,以便我可以创建一个新的小部件 RoundedProfilePicture
。这个小部件状态基本上将利用 ProfilePicture
状态的复杂代码和继承,并将添加小的额外逻辑。所以我认为继承是这里最好的选择。这是我到目前为止尝试过的
class ProfilePictureState extends State<ProfilePicture> implements Picture{
// SOME LONG COMPLICATED 500 LINE OF CODE
}
class RoundedProfilePictureState extends ProfilePictureState {
@override
void initState() {
super.initState(); // this calls ProfilePictureState.initState() call. I want to call State<ProfilePicture>.initState()
}
}
我的问题是 initState()
中的 void RoundedProfilePictureState
要求我拨打 super.initState()
。此调用进行 ProfilePictureState.initState()
调用。我想调用 State<ProfilePicture>.initState()
是因为我想在我的 init 状态调用中添加不同的逻辑。所以结构是:
----abstract State class
---ProfilePictureState
--RoundedProfilePictureState
如何从 initState
调用抽象 State 类的 RoundedProfilePictureState
方法?这可能吗?
解决方法
由于没有人回答,这就是我解决这个问题的方法。我认为这是不可能实现的。我所做的是将代码和所有变量移动到 mixin
。花了一两个小时才这样做。我实现了我的需求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。