我来自C ++背景,在目前的工作中全力以赴使用C#,并且我刚刚读了很多问答,内容涉及公共领域和属性之间的区别以及此变化和体现的所有来回变化。基本问题(例如此SO帖子和所有相关的链接问题)。所有这些问题都是根据实际存在的差异解决的,这些差异应理所当然地认为存在财产制度,但是我认为最好从所有语言的设计者首先决定支持财产的角度来解决这个问题。地方正在思考(在此处查看 Wikipedia文章中的列表))。OOP是如何从C ++ / Java扩展到Wikipedia文章有趣地标识为方法和成员数据之间的中间地带的:
“也就是说,属性位于类的成员代码(方法)和成员数据(实例变量)之间,并且属性提供比公共字段更高的封装级别。”
MSDN进一步增加了背景:
“尽管从技术上讲,属性在本质上与方法非常相似,但是它们的使用场景却大不相同。应将它们视为智能字段。它们具有字段的调用语法和方法的灵活性。”
我想知道这种中间封装水平对于一般的编程证明是有用的。我假设在表达OOP范式的编程语言的第一个化身中没有这个概念。
BMI = bob.weight/sq(bob.height)
没有()
IMO的情况下阅读效果更好。