【发布时间】:2023-04-03 01:26:01
【问题描述】:
我正在设计一种面向对象的编程语言以用于学习。该语言具有如下属性:
Class Fruit:
Property ReadWrite Float weight
Property WriteOnly Integer someWriteOnlyProperty # <-- avoid?
我应该为只写属性添加选项,还是只会导致使用这种语言的程序做出错误的设计决策?
【问题讨论】:
-
我认为当今大多数 OOP 语言中实现属性的方式是纯粹的邪恶,应该避免。
-
只写属性是什么?
-
@MK。 - 你能扩展一下吗?为什么你认为它是“纯粹的邪恶”?
-
因为我不喜欢从读者那里获取信息的语法糖。在查看一行代码时,我想知道是否只有一个属性值被更改,或者是否有一个方法被调用。
-
@MK。属性在这里使用方法实现(程序员可以更改其 setter 和 getter 的实现),方法调用和属性 set/get 具有单独的语法(
.用于属性,->用于方法)。在这种情况下,我认为语法糖不会成为问题,但对于其他语言,我完全同意你的看法。
标签: oop properties language-design writeonly