按组成相关的 class 个对象的术语
terminology for class objects related by composition
class C {
private:
int j;
};
class B {
private:
C c;
};
class A {
private:
B b;
};
A a;
我想知道 C++ 中组合层次结构的正确术语是什么:
- 什么是
b
到 c
,反之亦然?
- 什么是
a
到 c
,反之亦然?
我很想使用诸如子、父、根、基础、子对象等术语,但这些似乎通常指的是继承关系或者是模棱两可的。 "Contained object" 似乎没问题(虽然有点笨拙),但在另一个方向我不能说 "container" (已经指矢量、地图等)。是否有任何简洁和常规的方式来描述这些关系?
这摘自以下的精彩概要:https://en.wikipedia.org/wiki/Has-a
什么是 b
到 c
?
c
是 b
的 "meronym" 或 "constituent"。这是"part-of"关系。
什么是 c
到 b
?
b
是 c
的 "member" 或 b
是 c
的 "composed"。这是 "has-a" 关系。
什么是 a
到 c
,反之亦然?
尽管 "grandchild"、"grandparent" 或 "intermediate class" 可能会被抛出,但用于谈论跳转两级层次结构的面向对象术语是不一致的。
在这种特殊情况下,可以公平地说 c
是 "meronym of a
's member" 或 "constituent of a
's member"。而那个“a
的成员由c
”组成。
但无论哪种情况,您实际上只是在尝试描述该层次结构。
class C {
private:
int j;
};
class B {
private:
C c;
};
class A {
private:
B b;
};
A a;
我想知道 C++ 中组合层次结构的正确术语是什么:
- 什么是
b
到c
,反之亦然? - 什么是
a
到c
,反之亦然?
我很想使用诸如子、父、根、基础、子对象等术语,但这些似乎通常指的是继承关系或者是模棱两可的。 "Contained object" 似乎没问题(虽然有点笨拙),但在另一个方向我不能说 "container" (已经指矢量、地图等)。是否有任何简洁和常规的方式来描述这些关系?
这摘自以下的精彩概要:https://en.wikipedia.org/wiki/Has-a
什么是 b
到 c
?
c
是 b
的 "meronym" 或 "constituent"。这是"part-of"关系。
什么是 c
到 b
?
b
是 c
的 "member" 或 b
是 c
的 "composed"。这是 "has-a" 关系。
什么是 a
到 c
,反之亦然?
尽管 "grandchild"、"grandparent" 或 "intermediate class" 可能会被抛出,但用于谈论跳转两级层次结构的面向对象术语是不一致的。
在这种特殊情况下,可以公平地说 c
是 "meronym of a
's member" 或 "constituent of a
's member"。而那个“a
的成员由c
”组成。
但无论哪种情况,您实际上只是在尝试描述该层次结构。