Ada语言的包package与子程序分离

本文为新手解答文,大神们可以略过。
ada语言包package用于定义(存放)一些类型定义,对象,过程,函数的。包用两种文件来表示,一个是声明文件(扩展名是ads,就是ada specification file),声明文件中不能存放过程及函数的实现部分,还有一个是体文件(扩展名是adb,就是ada body file),体文件中可以放置定义,对象,过程实现,函数实现,体文件中的定义与对象对外是不可见的。
现实中,我们可能一个包里可能包含太多的内容,这时可以使用子程序分离,把一些特定实现以单独文件存储。

–mypack.ads
package mypack is
function fun1(a:integer;b:integer) return integer;
function fun2(a,b:integer) return integer is (a-b);
function fun3(a,b:integer) return integer is separate;
end mypack;

–mypack.adb
package body mypack is
function fun1(a:integer;b:integer) return integer is
begin
return (a+b);
end;
end mypack;

–mypack-fun3.adb
separate (mypack)
function fun3(a,b:integer) return integer is
begin
return (a/b);
end;

你可能感兴趣的:(笔记)