【发布时间】:2022-01-20 14:31:38
【问题描述】:
这是隐藏的方法:
class SuperClass : GLib.Object {
public void method1() {
stdout.printf("SuperClass.method1()\n");
}
}
class SubClass : SuperClass {
public new void method1() {
base.method1();
stdout.printf("SubClass.method1()\n");
}
}
同样的代码没有“new”关键字:
class SuperClass : GLib.Object {
public void method1() {
stdout.printf("SuperClass.method1()\n");
}
}
class SubClass : SuperClass {
public void method1() {
base.method1();
stdout.printf("SubClass.method1()\n");
}
}
这些有什么区别?
编辑:在生成的C代码中绝对没有区别,所以我认为编译的二进制文件是一样的。
【问题讨论】:
标签: methods vala method-hiding