gpt4 book ai didi

ada - 继承是如何在 Ada 中实现的,它是否内置了 GUI?

转载 作者:行者123 更新时间:2023-12-01 15:32:27 25 4
gpt4 key购买 nike

Ada 是否带有内置 GUI,它是否具有与 Oberon 相同的独特继承方法?

最佳答案

不,Ada 没有内置 GUI;但我能想到的最接近的语言是 PostScript。 (从技术上讲,Java 语言没有;尽管它包含的库​​有。)据说有一个 GTK 绑定(bind)(我根本没有使用过)和一个 OpenGL 绑定(bind)(我只玩过;并且老实说,OpenGL 绑定(bind)比我想要的要薄得多)。

Oberon的继承模型(我理解的)是单扩展继承,和Ada一样;尽管 Ada 确实包含了一个类似于 Java 的接口(interface)系统。我实际上并没有使用过 Oberon,所以我无法真正为您提供两者的并排示例,但可以向您展示 Ada 的示例。

基地:

Type Base is Abstract Tagged Record
Null;
End Record; -- Base

-- Base Operations
Procedure Op( Object : In Out Base );
Procedure Dispatching_Op( Object : In Out Base'Class );

扩展名:

Type Extended is New Base With Record
Null;
End Record; -- Extended

Overriding Procedure Op( Object : In Out Extended );

用 body ,说:

  Procedure Op( Object : In Out Base ) is
begin
Put( "Hello" );
end Op;

Procedure Dispatching_Op( Object : In Out Base'Class ) is
begin
Op( Object );
Put_Line( " World." );
end Dispatching_Op;

Procedure Op( Object : In Out Extended ) is
begin
Put( "Goodbye" );
End Op;

给定类型 P {P : K.Base'Class:= K.Extended'(Others => <>);} 的对象可以这样调用:

P.Dispatching_Op;

在这种情况下会产生以下结果:

Goodbye World.

关于ada - 继承是如何在 Ada 中实现的,它是否内置了 GUI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7213265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com