1

这是关于班级的 BON 图。

请注意,在示例中,属性未创建到实例中。在运行时a使用take_offfrom b。我只是想知道如何take_off在 B_747 类中初始化。在我的作业中,我有一个案例,就像 b := a.b c := a.cwhereB_747 bceach 具有相同的属性,但分配给每个的值不同。我不知道如何在没有实例化的情况下初始化属性。它说我不允许使用b.make ("abc", 123)。有人可以给我一个关于如何实现这个的例子。另外,我不确定b:=a.b真正的含义。

4

1 回答 1

0

该示例说明了其他内容,而不是对象创建。回答你的第一点,take_off不需要初始化。这只是PLANEB_747. 幻灯片说,即使ais PLANEwhere的静态类型take_off被声明为 deferred(即没有任何特定实现),当变量附加到 type 的对象时B_747,它也会使用 from 的功能实现B_747

回答你最后一点,b := a.b意味着一个特征的结果b,在一个由表达式计算的对象上调用a,附加到一个变量上b。后者可能是局部变量或当前类的属性。取决于上下文,表达式a可以是当前类的函数、当前类的属性、当前特征的自变量、当前特征的局部变量等。b调用的特征a可以是与该类的类型a或属性对应的类的函数。

于 2014-02-19T06:07:08.913 回答