您想要 data.bar ()
做什么并不清楚 。
bar()
as no access to A s data, so bar()
cannot have anything to do with the variable data
. So, I would argue, that data.bar()
is unnecessary, you are aiming for just bar()
.
Presumably, if bar()
is just a function, you can declare it static
and call B.data()
另一个选择是,您想要其他人已经写过的遗产。 当心遗产继承, 并且确保您继承 B 的 A 只有在您有某种关系的情况下才能继承 。 它满足了 < a href=" http:// en.wikipedia. org/wiki/Liskov_ substitution_ principle" rel=“ nofollow” > Liskov principles 。 不要因为您必须拨打 < code>bar < () 而继承 B 。
如果您想要使用 B, 您可以在 A 中使用 B 实例。 读到 < a href=" http:// en.wikipedia.org/wiki/Composition_ over_ insheritance" rel=“ nofollow” > 相对于继承的构成而言, 偏重组成