首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >初始化而不创建实例(Eiffel)

初始化而不创建实例(Eiffel)
EN

Stack Overflow用户
提问于 2014-02-19 07:13:03
回答 1查看 204关注 0票数 1

这是一个关于类的BON Diagram。

请注意,在该示例中,属性没有被创建到实例中。在运行时,a使用b中的take_off。我只是想知道在B_747类中take_off是如何初始化的。在我的赋值中,我有一个类似于b := a.b c := a.c的情况,其中B_747 bc都具有相同的属性,但分配给每个属性的值不同。我不知道如何在不实例化的情况下初始化属性。上面写着我不能使用b.make ("abc", 123),.Can,有人给我举个例子,说明如何实现这一点。另外,我也不太确定b:=a.b到底是什么意思。

EN

回答 1

Stack Overflow用户

发布于 2014-02-19 14:07:09

该示例说明了其他事情,而不是对象创建。回答你的第一点,take_off不需要初始化。这只是在B_747中生效的类PLANE的一个特性。幻灯片中说,尽管a的静态类型是PLANE,其中take_off被声明为延迟的(即没有任何特定的实现),但当变量附加了B_747类型的对象时,它将使用B_747的功能实现。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21867560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档