只是想知道如果使用setter函数或属性来设置值会有什么不同?以上哪两项应该优先考虑?
column.setWidth(10);
column.width = 10;
答案 0 :(得分:2)
那么,这在很大程度上取决于您正在使用的编程语言,或者换句话说,它是否支持属性的概念。但是,让我们从一般的角度来看问题。
最基本的观点是属性只是普通的语法糖,使得读取和写入某些假定的支持字段的值更容易,这是重要的一点,为您的代码用户定义明确的合同。 假设因为根本不需要任何支持字段,或者它们可以很多。
setter函数和native属性setter之间的高级语义差异可以认为如下:
在this question及其答案中讨论了使用属性访问器(getter和setter)的许多实际后果。
答案 1 :(得分:0)
首选属性。实际上这取决于你的语言。如果您开发Python,则所有属性都在Python中公开。