有人可以消除 C++ 的类属性和方法的歧义吗?我的印象是属性表示任何成员变量,方法表示任何成员函数。
谢谢
定义“正确”。
将数据成员和成员函数分别称为“属性/属性”和“方法”是常见的做法 - 这是一般的 OO 措辞。(不过,“属性”在 C++ 中用于其他用途,因此这很可能会造成混淆。)
然而,C++ 标准不使用这些术语(当然除了属性,如上所述)。如果您不想冒险并始终保持正确,请使用“数据成员”和“成员函数”。
但如果你只想向 Java 程序员解释 C++,你可能一开始就对“属性”和“方法”一无所知。
我不会那样做。虽然它可以在 OO 的一般上下文中理解,但在 C++ 中会令人困惑,因为属性在标准中有一个精确的定义,而不是data member的定义。
一个类的属性将转化为它的成员。通常,方法与成员函数不同。但是“在面向对象的编程中,方法是与类关联的子例程(或过程)。” -维基百科。
通俗地说,一个属性描述了一些东西,“这辆车的一个属性是它很长”,或者“大熊猫的一个属性是它的黑白颜色很醒目”。
在 XML 中,属性用于在标签中添加额外的信息,例如<species id=3212>Ailuropoda melanoleuca<common_name>Giant Panda</common_name></species>
-id
是一个属性,Ailuropoda melanoleuca
是一个值,common_name
是一个标签species
。
但是我将类中的变量称为“成员变量”,将类中的函数称为“成员函数”或“方法”。