繁体   English   中英

Flutter dart 调用超级 class 方法的超级

[英]Flutter dart call super of super class method

这是我的架构,我有两个 statfull 小部件: ProfilePicture, RoundedProfilePicture ProfilePicture是一个有状态的小部件,它有复杂的自定义代码,很容易出错,所以我不想复制粘贴它,它利用来自Picture abstract class 的变量。 (即获取服务器数据并将它们存储在Picture的变量中)。 我想要做的是我想从这个小部件 state 扩展,以便我可以创建一个新的小部件RoundedProfilePicture 这个小部件 state 将基本上利用ProfilePicture的 state 和 inheritance 的复杂代码,它会添加一些额外的小逻辑。 所以我认为 inheritance 是这里的最佳选择。 这是我到目前为止尝试过的

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()
    }
 }

我的问题是RoundedProfilePictureState中的 void initState()要求我进行super.initState()调用。 此调用进行ProfilePictureState.initState()调用。 我想调用State<ProfilePicture>.initState()因为我想在我的 init state 调用中添加不同的逻辑。 所以结构是:

----abstract State class
---ProfilePictureState 
--RoundedProfilePictureState  

如何从RoundedProfilePictureState调用抽象 State 类的initState方法? 这可能吗?

由于没有人回答,这就是我解决这个问题的方法。 我认为这是不可能实现的。 我所做的是将代码和所有变量移至mixin 这样做花了一两个小时。 我实现了我的需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM