Jump to content

Ada Programming/Keywords/interface

From Wikibooks, open books for an open world

Ada. Time-tested, safe and secure.
Ada. Time-tested, safe and secure.

This language feature is only available from Ada 2005 on.

Used to declare an interface. Interfaces are the most important innovation in Ada 2005. The basic semantic has been taken from the interface concept of the Java programming language. Interface inheritance is a reduced form of multiple inheritance.

Interface types

[edit | edit source]

There are various forms of interfaces available:

Normal interface

[edit | edit source]

The normal interface is declared as:

 type Printable is interface;

Limited interface

[edit | edit source]

Can be used as interface to limited tagged type.

 type Printable is limited interface;

Synchronized interface

[edit | edit source]
type Printable is synchronized interface;

All synchronized interfaces are also limited.

Task interface

[edit | edit source]

Can be used as an interface to a task type.

type Printable is task interface;

All task interfaces are also synchronized.

Protected interface

[edit | edit source]

Can be used as an interface to a protected type.

 type Printable is protected interface;

All protected interfaces are also synchronized.

See also

[edit | edit source]

Wikibook

[edit | edit source]

Ada Reference Manual

[edit | edit source]

Ada 2005

[edit | edit source]

Ada Quality and Style Guide

[edit | edit source]


Ada Keywords
abort else new return
abs elsif not reverse
abstract (Ada 95) end null
accept entry select
access exception of separate
aliased (Ada 95) exit or some (Ada 2012)
all others subtype
and for out synchronized (Ada 2005)
array function overriding (Ada 2005)
at tagged (Ada 95)
generic package task
begin goto parallel (Ada 2022) terminate
body pragma then
if private type
case in procedure
constant interface (Ada 2005) protected (Ada 95) until (Ada 95)
is use
declare raise
delay limited range when
delta loop record while
digits rem with
do mod renames
requeue (Ada 95) xor