这是关于课程的BON图。
请注意,在示例中,属性未创建到实例中。在运行时a
使用take_off
中的b
。我只是想知道如何在B_747类中初始化take_off
。在我的作业中,我有一个案例,就像b := a.b
c := a.c
B_747
b
和c
每个都有相同的属性,但每个属性分配不同的值。我不知道如何在没有实例化的情况下初始化属性。它说我不允许使用b.make ("abc", 123)
。有人可以给我一个如何实现它的例子。另外,我不确定b:=a.b
到底意味着什么。
答案 0 :(得分:0)
该示例说明了其他内容,而不是对象创建。回答您的第一点,take_off
无需初始化。这只是PLANE
中B_747
类的一个功能。幻灯片表示即使静态类型a
为PLANE
,其中take_off
被声明为延迟(即没有任何特定实现),当变量附加了{{1}类型的对象时1}},它使用B_747
中的功能实现。
回答你的最后一点,B_747
意味着,对由表达式b := a.b
计算的对象调用的要素b
的结果附加到变量a
。后者可以是局部变量或当前类的属性。表达式b
可以是当前类的函数,当前类的属性,当前特征的参数,当前特征的局部变量等,这取决于上下文。 a
上调用的功能b
可能是与a
类型或该类属性对应的类的函数。