我正在尝试理解冒号这最后两行代码的含义……这是一个语法问题。 我正在遵循this github示例,我对此有疑问。 有人可以帮我弄这个吗?。
class DietPlan extends ParseObject implements ParseCloneable {
DietPlan() : super(keyDietPlan);
DietPlan.clone() : this();
答案 0 :(得分:1)
:之后的部分称为“初始化列表”。 它是一个表达式列表,可以访问构造函数参数,并且可以分配给实例字段,甚至最终实例字段。
第一个冒号,即DietPlan() : super(keyDietPlan);
表示您正在调用超级构造函数,在本例中为ParseCloneable的构造函数。
这是OOP的核心概念,您可以将一个类扩展或实现为另一个类,并且必须调用超类构造函数。这只是在Dart中做同样的事情。
第二个冒号以类似的方式工作,以了解您需要了解什么是对象克隆, 对象克隆是指创建对象的精确副本。它创建当前对象类的新实例,并使用该对象相应字段的内容完全初始化其所有字段。 这是第二行上发生的事情。