10

有人可以消除 C++ 的类属性和方法的歧义吗?我的印象是属性表示任何成员变量,方法表示任何成员函数。

谢谢

4

4 回答 4

9

定义“正确”。

将数据成员和成员函数分别称为“属性/属性”和“方法”是常见的做法 - 这是一般的 OO 措辞。(不过,“属性”在 C++ 中用于其他用途,因此这很可能会造成混淆。)

然而,C++ 标准使用这些术语(当然除了属性,如上所述)。如果您不想冒险并始终保持正确,请使用“数据成员”和“成员函数”。

但如果你只想向 Java 程序员解释 C++,你可能一开始就对“属性”和“方法”一无所知。

于 2013-08-16T21:30:46.570 回答
2

我不会那样做。虽然它可以在 OO 的一般上下文中理解,但在 C++ 中会令人困惑,因为属性在标准中有一个精确的定义,而不是data member的定义。

于 2013-08-16T21:54:12.667 回答
0

一个类的属性将转化为它的成员。通常,方法与成员函数不同。但是“在面向对象的编程中,方法是与类关联的子例程(或过程)。” -维基百科

于 2013-08-16T21:26:25.923 回答
0

通俗地说,一个属性描述了一些东西,“这辆车的一个属性是它很长”,或者“大熊猫的一个属性是它的黑白颜色很醒目”。

在 XML 中,属性用于在标签中添加额外的信息,例如<species id=3212>Ailuropoda melanoleuca<common_name>Giant Panda</common_name></species>-id是一个属性,Ailuropoda melanoleuca是一个值,common_name是一个标签species

但是我将类中的变量称为“成员变量”,将类中的函数称为“成员函数”或“方法”。

于 2013-08-16T21:40:09.953 回答