回 帖 发 新 帖 刷新版面

主题:interface 是什么意思啊??

http://www.programfan.com/club/showbbs.asp?id=73496


忙里偷闲?(mltx?)先生改的interface起什么用啊?

请大侠们和mltx先生指点!!
谢谢!

回复列表 (共27个回复)

21 楼


http://www.abab123.com/bbs/down.asp?html=1129909

22 楼

http://www.abab123.com/bbs/down.asp?html=1129909

23 楼

http://www.abab123.com/bbs/down.asp?html=1129909

24 楼

我们工作室由工作经验两年以上的相关it工程师组成,主要涉及商业应用系统开发、工程计算程序、科学研究程序领域

熟练掌握c,c++,j2se,j2ee(jsp,spring,hibernate,struts,ejb),dotnet,delphi,fortran,matlab程序/系统设计(外包)服务.

自我们创立以来就以"诚信为本,满足客户需求"为做事原则,并以严格的项目管理和良好的服务为基础己顺利完成多个程序设计(软件外包)服务.

如有需求,请联系QQ:442658449  非诚勿扰~

25 楼

学习了,谢谢!

我是初学者,请问哑元是什么意思啊?

26 楼

关于兄台提到的第二点,彭的书上说用module可以替代interface,只是没有举例。谁能给举个例子。比如用module改写彭的例子 EX0826。谢谢。

[quote]看了大家的讨论,我想补充几句:首先要说明的是Interface是个好东西!

Interface的功能远不限于对外部调用函数的说明(因为放在module里的函数就可以不用Interface),其更大用处是函数的重载(比如可以定义一些张量的运算,不借助於Interface是不行的);Interface的另外一个重要的性质是实现Fortran面向对象编程中的多态性,这样很多子程序就可以用一个名称,子程序的反回值可以根据输入子程序参数的不同而不同,这样就很方便了。
[/quote]

27 楼

其他程序引用module中包含的子程序、子函数应该和引用module中定义的变量没什么区别。所以这样可以不用在引用的程序中声明子程序、子函数。但interface的功能远不只这点。一些情况下还是必须使用interface的,Fortran 90 Handbook中指出了10种必须使用interface的情况。比如传递数组。

当然不必每次调用一个外部子程序/函数的时候都在主引程序中声明该子过程的interface,那样太麻烦且容易出错。可以把所有的interface写在一个module里,在主引程序中use module就可以了。

楼上中华韧峰认为interface使Fortran得语法越来越不清晰,我认为正相反,interface的出现提高了Fortran的封装性,更容易实现模块化。

大学的时候教c的老师对面对对象编程的大行其道愤愤不已,认为这降低了程序设计的门槛,原来受过专业训练的人做的事现在只要读点攻略之类就可以完成,必然带来程序质量的下降。现在个人感觉到,面向对象编程应该不可能成为Fortran的主流,那将是一场灾难。

另外,lz的程序中使用了递归,Fortran对递归的支持不够好,似乎会降低程序的执行效率?

[quote]关于兄台提到的第二点,彭的书上说用module可以替代interface,只是没有举例。谁能给举个例子。比如用module改写彭的例子 EX0826。谢谢。

[quote]看了大家的讨论,我想补充几句:首先要说明的是Interface是个好东西!

Interface的功能远不限于对外部调用函数的说明(因为放在module里的函数就可以不用Interface),其更大用处是函数的重载(比如可以定义一些张量的运算,不借助於Interface是不行的);Interface的另外一个重要的性质是实现Fortran面向对象编程中的多态性,这样很多子程序就可以用一个名称,子程序的反回值可以根据输入子程序参数的不同而不同,这样就很方便了。
[/quote]
[/quote]

我来回复

您尚未登录,请登录后再回复。点此登录或注册