是否可以在接口中声明属性而不为其声明get-和set-methods?类似的东西:
IValue = interface
property value: double;
end;
我想声明实现者应该有一个名为value的属性,返回一个double,但我真的不在乎它是否返回私有字段或函数的结果。
如果可能,是否可以将其声明为读/写或只读?
答案 0 :(得分:33)
没有。接口实现为函数表(基本上是一个简单的虚方法表),编译器需要知道有一个函数将属性映射到。您可以在接口上声明属性,但它必须具有getter / setter值而不是字段的函数。但是,您可以将其设置为只读或只写。
答案 1 :(得分:7)
在界面中使用属性时,请将该属性视为读取器/写入器的快捷方式。只需要一个来满足捷径...否则它不会指向任何东西。